Объектно ориентированный код, хороший и качственный код как средство удовлетворения от своей работы.
2010-04-29 от Kosten
Пришло время поговорить об ООП и об удовольствии получаемом нами на своей работе. Одними из наших любимых вопросов на собеседовании который задается кандидатам есть следующие: «Что Вы понимаете под словом «хороший» код?», «Какой код лично Вы, код пишите и каким критериями руководствуетесь при написании вашего кода?» Я слышал много вариантов (очень много) ответов на эти вопросы. Сегодня хочу поделиться собственной позицией по этому вопросу. Так уж сложилось, что за годы участия в разработке программного обеспечения я столкнулся с огромным числом интересных людей, а также с различными подходами к разработке программного обеспечения. Как человек от природы любознательный я всегда стремился почерпнуть, что то новое не в зависимости от моего окружения и типов проектов на которых довелось поработать, но признаться по секрету никогда ранее я не испытывал такого чувства удовлетворения от работы коллектива, как то, что я испытываю сейчас. Я попытался понять, что же изменилось за прошедшие годы. Конечно, можно смело утверждать, что багаж накопленного опыта дает свое и многие вещи, которые приходилось осваивать ранее, сейчас заняли достойное место, на полке моего инструментария делая мою жизнь и жизнь нашей команды легче и приятней. С некоторых пор появилась возможность брать на работу только сильных и состоявшихся программистов, в большинстве своем тимлидов на своих бывших местах работы. Это не могло не сказаться на уровне дискуссий в коллективе, на оперативности принимаемых нами решений, а также на скорости и качестве разработки. Но поразмыслив глубже, я пришел к выводу, что это не главное, хотя имеет большой удельный вес в общем успехе. Что – то за прошедшие годы изменилось в моем сознании и в сознании окружающих меня людей и это «что-то» позволило смотреть на нашу работу в несколько ином разрезе, чем просто набор изученных технологий, удачно примененных практик и прогрессивных архитектурных решений. Несколько лет назад я нашел в лице одного из тогда еще новых коллег хорошего архитектора, а впоследствии и друга. Многочасовые споры и возможность общаться себе подобными стоит дорогого, что еще более важно в ходе этих споров я заинтересовался пропагандируемыми им идеями. Стоит оговориться, что он не был моим учителем в прямом смысле этого слова, но его увлечение объектно-ориентированным дизайном, гибкими методологиями, unit – тестированием, в конечно итоге оказали влияние и на мои взгляды, на суть того, что мы делаем, а главное на, то как мы это делаем. Что-то бесповоротно изменилось в самом восприятии мной кода, в том числе и чужого. Это привело к незаметным сиюминутно, но качественным трансформациям базы кода в дальнейшем. Идеи, еще недавно казавшиеся реформаторскими и недостижимо далекими стали применяться на практике и давать свои результаты. Естественно, что над многим нам придется еще работать, но самое главное, что пришло осознание того, что такое хороший код, а также знание того как его писать и мы стараемся делать именно так.
Читать полностью »
Рубрика: .NET, C#, Develop | 1 комментарий »