Pull to refresh

Comments 16

А надо ли?
Лично я стараюсь бороться не с самим фактом явления, а с негативными последствиями — время, лишние абстракции, слишком общие решения, т.п.
Направлять, но не препятствовать.
Действительно, я не совсем верно сформулировал вопрос. Имеется в виду ограничение стремления до разумных размеров.
Хороший программист тратит 80% времени на обдумывание и 20% на написание кода.
Плохой программист тратит 20% на написание кода и 80% на его обдумывание.
скорее 80% на его переписывание.
Тут главное не переусердствовать, сам считаю себя перфекционистом, бывали времена когда я полчаса думал как покрасивее назвать класс. Зато есть один болшой плюс в будущем, код становится очень структурированным если пытаешся вылизать не только архитектуру но и сам стиль.

P.S. Мне тоже снятся базы данных. )
По ночам проектирую классы для незаметного доступа к холодильнику ;)
Мягко намекаю что пора заканчивать идеализировать мир :-)

Писатель будет продолжать писать рассказ до тех пор, пока его не заберёт издатель
— Хенк Моуди
Зависит от Вашей роли в команде имхо. Я тоже отношу себя к Особо-Педантичным-Перфекционистам, но как показывает практика — это с лихвой окупается раздолбайством некоторых членов команды и руководством, не выделяющим времени на «правильную» с точки зрения архитектуры реализацию фич. Помните, мы можем сделать этот гребаный мир чуточку лучше :)
Надо понимать зачем вы пишите код. Пишите вы его для решения конкретной проблемы. Вот и сосредоточитесь на этом.
Мой подход: без повода не трогаем ничего, с поводом — всё, что угодно. Поводом могут быть только проблемы вида «ошибка» или «невозможно реализовать новую фичу».

Алгоритм:
1) Обдумываю, составляю план как делать, начинаю делать.
2) Если всё срастается и работает следую исходному плану независимо от гениальности пришедших в процессе идей, в крайнем случае пишу TODO.
3) Если что-то не срастается/не работает — goto 1.
Стараюсь отключать перфекционизм там, где можно быстро сделать по-тупому, и с большой вероятностью изменения не потребуются. Как показывает практика, чаще всего они после этого и не требуются, а если все-таки возникает такая потребность, то от кривого но работающего решения отказываться не жалко, т.к. на этом почти не теряется время.
Ставить себе почаще четкие временные рамки, дабы не увлекаться вылизыванием :).
По крайней мере мой шеф когда-то так меня учил делать, неплохо помогло
На работе делай только то за что тебе платят, если это не твой бизнес.
1) само пройдет, задачи не будут казаться такими сложными (понимайте это как «интересными»), и решаться будут за очень короткое время, бесконечные же улучшения возможны только с бесконечным развитием, а если проект коммерческий то бесконечное развитие как правило не достижимо (деньги кончаются у заказчика)

2) заведите себе личный проект и играйтесь с ним.
У меня перфекционизм в известной степени тоже присутствует. На работе, где мои задания ограничиваются временными рамками, я стараюсь делать просто хорошо, а если делаю что-то по собственной инициативе и не связана временем, «вылизываю» подолгу. Иногда это мешает, с другой же стороны, бывает тошно смотреть на продукты деятельности тех, кто не замечает недостатков и не стремится их исправлять.
Sign up to leave a comment.

Articles