2013-08-05

Инструмент мастера

Помни, Гарри: сила волшебника
Не зависит от размера волшебной палочки

Посмотрел тут видео про эффективную работу с IntelliJ IDEA, узнал несколько новых полезных возможностей. Productivity guide - это вообще уберфича, такое я видел только в Идее, хотя ничего волшебного, тот же Eclipse давно собирает статистику использования и периодически предлагает загрузить к ним на сервера.

То чувство, когда пользуешься любимой IDE
В любом случае подобных видео over 9000 для любого, достаточно продвинутого редактора. Смотреть как работает мастер можно бесконечно. И прямо таки физическую боль вызывает наблюдение человека совершающего монотонную ручную работу, особенно если её можно оптимизировать, особенно, если есть официальный способ, и достаточно просто заглянуть в справку.

2013-07-31

Kindle vs Nook

Kindle - light or set fire. Arouse or inspire

Попытка номер один. Читалка, которая, внезапно, позволила удобно работать с книгой: делать закладки (это, в принципе, и раньше делал), выделять фрагменты, добавлять комментарии. Но самая крутая фича, конечно, - встроенные оксфордские словари (Oxford English и New American English) позволили, просто наведя слово на курсор, видеть определение слов, что качественно повысило понимание книг при чтении в оригинале. 

2013-07-28

EVE. Век эмпирей

Денис, помня про мою тягу к фантастике и интересу к ЕВЕ, посоветовал книгу Тони Гонзалеса. Новеллизацию по вселенной игры. Прочитал за пару дней на одном дыхании, добротнейшая фантастика даже для не фаната. Четыре расы слестнувшиеся в отчаянной битве всами доступными средствами: от дипломатических до военных. Могущественные незнакомцы тайно дергающие за нити, наследие потерянной Терры.

Некоторые фрагменты, кстати, напоминают Дюну, есть даже свой барон Харконен.

Всё, жду продолжения. Сражаться с дикой тягой загамать становится все труднее.

2013-07-25

The Art of Unit Testing

Великолепная книга от Roy Osherove. Однозначно попадает в категорию 'И почему она не попалась мне пять лет назад?', однозначный мастрид. Не смотря на то, что все примеры идут для .NET, польза будет и для явистов, поскольку принципы работы отличаются только деталями.

Книга состоит из 4 разделов: базовые принципы, моки и стабы, тестируемый код, внедрение тестирования в легаси среде. И если первые два раздела я уже освоил, достаточно натанцевавшись по граблям (читал чтобы убедиться, что ничего не пропустил), то последние дали богатую пищу для размышлений.

A unit test should have the following properties: 
❂ It should be automated and repeatable.
❂ It should be easy to implement.
❂ Once it’s written, it should remain for future use. 
❂ Anyone should be able to run it.
❂ It should run at the push of a button.
❂ It should run quickly.

These are the FICC properties: fast, isolated, configuration-free, and consistent. If it’s hard to write such a test, or it takes a long time to write it, the system isn’t testable.

Противоречие между инкапсуляцией и тестируемостью решается очень легко:
Some people feel that opening up the design to make it more testable is a bad thing because it hurts the object-oriented principles the design is based on. I can wholeheartedly say to those people, “Don’t be silly.” Object-oriented techniques are there to enforce some constraints on the end user of the API (the end user being the programmer who will use your object model) so that the object model is used properly and is protected from unforeseen ways of usage. Object orientation also has a lot to do with reuse of code and the single-responsibility principle (which requires that each class has only a single responsibility). When we write unit tests for our code, we are adding another end user (the test) to the object model. That end user is just as important as the original one, but it has different goals when using the model. 

Ну и, в заключение, совет от Мастера: Finally, as a friend once said, a good bottle of vodka never hurts when dealing with legacy code.

2013-07-22

О лидерстве



Интересное интервью как-то запостил Голодный. Скачал, несколько месяцев валялось, пока наконец не посмотрел. Очень понравились идеи осознанного выбора и принятия ответственности; про группу, которая не группа а набор людей с общественным договором; про мониторинг и коррекцию; про засучить рукава и сделать лучше всех.

Случайные совпадения

Буквально через пару дней после просмотра, разговор с другом (тот самый успешный троечник из интервью, который, по словам учителей, умрет под забором от голода) зашел о бизнесе, принятии ответственности. Он сказал, что сотрудники безинициативные, их нужно постоянно пинать, чтобы они начали что-то делать и хорошо бы им сходить в армию, дескать, их бы там научили, как его в свое время. После этого почти дословно повторил описание армейского опыта Гандапаса – я про себя очень удивился этим множественным совпадениям. Хотя и не согласился с другом: модель поведения изначально была правильно сформированная – армия лишь позволила ей проявиться.