Рубрика «Совершенный код» - 48

Красивый код: какой он?Недавно ребята из Яндекса опубликовали статью, в которой рассказали, что же такое красивый код по их мнению. Однако, для каждого из них «красота» это нечто свое, и не совсем понятно, от чего именно это зависит. Интересно было бы узнать, что именно аудитория Хабра называет «красивым кодом», и как это зависит от опыта программирования.

Ниже вы увидите опросы, в которых вам предлагается поучаствовать. Сразу поясню разницу между понятиями «код» и «красивый код» в них. Красивый код — это тот, который вы стремитесь писать, содержащий в себе все то, что для вас важно. Код — это то, с чем вы сможете работать. Он не обязательно должен быть красивым, вы можете от него плеваться, но, тем не менее, будете с ним работать. Однако, если же из него исключить хотя бы еще одну «составляющую» (см. опросы), то вы откажетесь поддерживать подобное.
Читать полностью »

В Яндексе работает больше 6000 человек, и, по некоторым оценкам, больше половины наших сотрудников имеют опыт в программировании. И конечно же, у каждого из этих людей есть своё самое правильное мнение о том, каким должен быть идеальный код.

В результате у нас нередки споры споры о том, должен ли код быть красивым. Причём оказывается, что понятие красоты здесь, как и везде, субъективно: «Предпочтение в коде у программистов — это как предпочтение в женщинах. Кому-то нравятся брюнетки, кому-то — блондинки».

Чтобы понять, какие свойства кода отстаивают разные стороны, я по горячим следам очередных бурных обсуждений решила спросить коллег, что такое красивый код и должен ли он вообще быть красивым? Достаточно того, чтобы он хорошо работал и был понятным? Или понятный код по умолчанию красивый?

В опросе участвуют bobuk, anatolix, anton, Андрей yafinder Плахов, Антон Самохвалов, Андрей Гулин, Владимир Иванов и другие. Суммарный опыт программирования всех участников этого микро-интервью на восьмерых составляет 198 лет.
Читать полностью »

A n00b y0u areКогда-то книга “Совершенный код” Стива МакКоннела произвела на меня большое впечатление. Я лично думаю, что эту книгу обязательно должен прочесть каждый, кто зарабатывает на жизнь написанием кода. Особенно настоятельно я рекомендую эту книгу новичкам.

Настоящие размышления о программирования посвящаются главе 33 “Личность” и тем, кто решил связать свою жизнь с разработкой программного обеспечения.
Читать полностью »

ФантомасоПисателя (далее DZ. dz.ru/solutions/phantom/) активно ругают и, временами, откровенно тролят, хотя ничего неизвестного и неожиданного человек не сказал. Он просто сложил в аккуратную кучку факты, решения и концепции. А уж неприятие его идей, дело сугубо временное. (Ну хорошо, возможно не всех идей).

Ну вот, с разжиганием межконфессиональной вражды закончил, теперь можно перейти и к фактам, кои довольно прозаичны.
Читать полностью »

Сейчас я читаю одну очень интересную книгу Макконнелла под названием "Совершенный код", которая, кстати, является классикой жанра в области проектирования программ и написанию хорошего кода. Поскольку всё то, о чем говорится в книге, полностью подходит и для веб-разработки (чем я активно увлекаюсь), решил делиться интересными моментами, которые мне показались очень важными.

Зачем нужно создавать методы

Сегодня же речь пойдет о том, зачем нужно создавать методы и в каких случаях.
Читать полностью »

Плоский дизайн (flat design), это сейчас модно и красиво. Внесем же наш маленький вклад в общую тенденцию, применим немного flat-форматированного кода
Читать полностью »

Условный оператор в обычной своей форме источником проблем является сравнительно редко. Однако само условие порой оказывается достаточно сложным и встает на пути к мечте любого разработчика. Речь, конечно же, о красивом и читаемом коде.

Возможно, я не там искал, но ни разу в стандартах оформления кода не встречал упоминаний о том, как быть со сложными условиями. Разобраться с ними — и есть цель данной статьи.

Так как с высасыванием из пальца у меня проблемы, в качестве источника примеров взята часть исходников GCC 4.8.2, для авторов которых стандарты оформления — не пустой звук. Используя примеры, буду приводить файл и строку начала, чтобы желающие могли убедиться, что все честно. Читать полностью »

Меня давно интересует тема комментирования кода. Этот пост подвиг меня формализовать свою идеологию документирования кода.

С одной стороны комментарии это типа правильно, с другой я не вижу в них особого смысла. Более того, те книжки по программированию которые я читал, как-то опускают этот момент или по крайней мере не придают комментариям большого значения. Я хочу изложить свои соображения, почему нет смыла описывать все описания параметров функций, методов и свойств классов и т.д.
Читать полностью »

imageВ последнее время, набирает популярность мысль, что комментарии в коде — дело не обязательное, и даже вредное. Буквально вчера вечером, общаясь со знакомым молодым программистом, попросившим посмотреть его код, я обнаружил, что комменты отсутствовали вовсе, даже привычные описания методов. На мой удивленный смайлик, был ответ: “Комментарии — первый признак плохого кода”. И черт бы с ним, с начинающим программистом, но я периодически читаю что-то похожее в блогах, и слышу от коллег. Может программирование в очередной раз сделало шаг вперед, а я, среди отстающих? Под катом, немного размышлений, о том, когда и почему стоит или не стоит комментировать свой код.
Читать полностью »

imageЗа годы присутствия на хабре я прочитал немало статей на тему того, как должен выглядеть идеальный код. И поменьше статьей о том, как конкретно достигать этого идеала. Также стоит отметить, что весьма значительная часть всех этих материалов была переводом западных источников, что, вероятно, является следствием более зрелой отрасли IT «за рубежом», со всеми вытекающими вопросами и проблемами.

К сожалению, во многих случаях авторы либо забираются в недосягаемые выси многослойных архитектур, что требуется в лучшем случае для 1% проектов, либо ограничиваются общими фразами вроде «код должен быть понятен» или «используйте ООП и паттерны», не опускаясь до подробных объяснений, в чем например измеряется «понятность» кода.

В этой статье я хочу попытаться систематизировать те критерии оценки качества кода, и те практики его написания, которые мне удавалось применять в реальных проектах практически независимо от их размеров и специфики, используемого языка программирования и других факторов.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js