Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете. Martin Golding Программы должны писаться для людей, которые будут их читать, а машины, которые будут эти программы исполнять — второстепенны . Harold Abelson
Чистый код – это само совершенство
“Чистый код всегда выглядит так, будто его писал человек, которому не всё равно”». Майкл Фезерс Этика хорошего программиста
Этика при программировании
Или интеллигентные программисты
Разработчиков хлебом не корми, дай поспорить о чистоте кода. Но при этом у самого понятия «чистый код» нет чёткого определения. Главная книга по этому вопросу — « Clean Code » , где Роберт «Дядюшка Боб» Мартин сразу заявляет: «сколько программистов, столько и определений».
Искусство комментировать или Зачем писать Комментарии к коду
- До начала матча — пять минут, счет по-пpежнему 0:0. - И мяч, преодолев последнее препятствие между ног вpатаpя , влетает-таки в воpота . Что такое комментарии - С мячом немцы, в данном случае — фpанцуз .
Комментарии это неотъемлемая часть в языках программирования Комментарии есть во всех языках программирования
«Хороший код является самодокументированным » Она истинна ? Да . Означает ли она, что вы никогда не должны комментировать код? Нет . Известная фраза:
var moiTovari; var cena; var ssilka; Название переменных var myGoods ; var price; var link; Лучше так не делать Профессионально
getUserName () — что-то произойдёт, и функция вернёт имя пользователя; Название функций
/* * Replaces with spaces * the braces in cases * where braces in places * cause stasis. **/ $ str = str_replace (array( "\{" , "\}" ), " " ,$ str ); Юмор программистов Заменяет пробелами фигурные скобки в тех случаях, когда скобки в некоторых местах вызывают «закупорки».
Юмор программистов Exception up = new Exception ( "Something is really wrong." ); throw up; Примечание. Исключения (исключительные ситуации, exceptions ) являются механизмом обработки ошибок.
Юмор /* Когда я начинал писать этот код, только Бог и я понимали, что он делает. Сейчас остался только Бог */ *** /* пьян, исправить позже */ *** /* Магия. Не трогать. */
/* set the value of the age integer to 32 */ int age = 32 ; Капитан очевидность Бессмысленные комментарии
Когда пытаешься разобраться в чужом коде
Чтобы такого не было, не ленитесь оставлять комментарии Вывод
Подытожим…. Зачем писать комментарии к коду?
Зачем писать Комментарии к коду 1. Помощь себе в будущем. Чтобы в будущем не тратить время на разбирательства, как работает этот велосипед. Используйте простое правило: оставляю комментарии в коде там, где они сэкономят мне время когда я буду читать этот код через год, уже разумеется не помня как и почему я его писал и что он делает. 2. Думаешь о других, о возможности рефакторинга твоего кода другим человеком. Этика хорошего программиста
/* don't use the global isFinite () because it returns true for null values */ Number .isFinite (value) Экономим время другим Простой пример в JavaScript:
Зачем писать Комментарии к коду Бывают куски кода/логики, которые всегда лучше с комментариями: 1. Оптимизации — краткое пояснение « это более быстрая версия вот этого», чтобы у других программистов не было желания переписать на более простую, но медленную версию. 2. Нетривиальная математика — краткое описание «этот алгоритм делает то - то, то - т о » или указание (хотя бы) названия алгоритма могут сэкономить много времени читающего. Особенно это актуально когда в алгоритме есть специфичные модификации. 3. Костыли — бывает так, что нет времени/возможности/сиюминутной необходимости сделать хорошо. С комментарием хоть будет понятно на что обратить внимание и что в первую очередь переделывать при работе с этим куском кода
Как правильно писать комментарии?
Существует два разных вида комментариев Документирующие комментарии (поясняют суть, назначение скрипта, функции, метода) Поясняющие комментарии
Во-первых, на уровне библиотек/программ/функций комментарии отвечают на вопрос « ЧТО ?» : «Что делают эти библиотеки/программы/функции? Документирующие комментарии
библиотека
Сперва Рационально? Логично?
Затем Рационально? Логично?
Рационально? Логично?
Во-вторых, поясняем входные и выходные аргументы функции Документирующие комментарии Пример. Документирование кода в Python . PEP 257 PEP 257 описывает соглашения, связанные со строками документации P ython , рассказывает о том, как нужно документировать ython код . Цель этого PEP - стандартизировать структуру строк документации: что они должны в себя включать, и как это написать.
В коде отвечают на вопрос « КАК ?» : « Как код (фрагмент кода) выполняет задание ? Поясняющие комментарии Пример
Примеры плохих и хороших однострочных комментариев:
Отвечают на вопрос « ПОЧЕМУ ?» : « Почему код выполняет задание именно таким образом, а не другим?» Поясняющие комментарии Пример
Примеры плохих и хороших однострочных комментариев:
Примеры плохих и хороших однострочных комментариев:
Примеры плохих и хороших однострочных комментариев: Программистам часто приходится принимать трудные решения по поводу того, каким способом решить проблему. А комментарии и существуют для того, чтобы напомнить себе (или объяснить другим) причину, почему вы написали код именно так, а не иначе.
Документирующие комментарии
Творить (писать) программу для других – красиво и интересно, чтобы другим было приятно ее читать Не лениться делать комментарии Соблюдайте аккуратность во всем, в том числе в написании кода Чистота Лаконичность Структурированность (все по атомам составляющим – важен каждый) – все вместе целостность и Высшая форма Заключение
Отношение к разработке программ это дело индивидуальное, но настоящие профессионалы/мастера своего дела относятся к ремеслу серьезно, ответственно, с любовью. Да ладно, и так сойдет