По ту сторону кодинга Алексей Башкеев Спецвыпуск: Хакер, номер #053, стр. 053-068-7 То, что нельзя автоматизировать Представь, что какой-нибудь злодей решил контролировать присутствие программистов на рабочих местах. Что тут можно сказать? Контролировать работу программистов с помощью программ... В одной из компаний решили заставить сотрудников слать письмо по электронной почте при приходе на работу. О том, как заставить The Bat отправить письмо в определенное время, на следующий день знала даже секретарша. В другой известной мне компании время твоего прихода на работу фиксировалось по времени входа в корпоративную программу. "Приходитель вовремя, версия 1.0" был написан за два дня. Так что имей в виду: все автоматизировать не получится, кое-где останется неподкупная "тетя Маша", которая будет отмечать приход и уход каждого сотрудника. Думай! Я описал разные технологии и подходы к программированию. Есть такая поговорка: если человеку дать в руки молоток, то для него все вокруг начнет подозрительно казаться гвоздями". Это я о том, что следует хорошо подумать перед применением той или иной технологии и выяснить, есть ли в ней реальная потребность. Окупятся ли трудозатраты по написанию юнит-тестов? Стоит ли подвергать рефракторингу кусок кода, которому осталось работать несколько месяцев? Надо ли использовать CVS для задачи средних размеров, над которым ты работаешь на пару с товарищем? Если ты сейчас перечитаешь вопросы из введения и сравнишь их с этими, то, возможно, увидишь между ними одну существенную разницу: в вопросах введения спрашивалось, как решить задачу, а в вопросах заключения – стоит ли решать такую задачу этим методом. Если ты это видишь и понимаешь (на что я надеюсь), значит, ты что-то почерпнул из этой статьи. А еще говорят, что для того чтобы сделать правильный выбор, надо прежде всего иметь в распоряжении то, из чего будешь выбирать. Хорошо представляя себе возможности того или иного средства разработки, его преимущества и возможные проблемы, связанные с ним, ты сможешь решить, "стоит или не стоит" им пользоваться для решения этой задачи. |