Язык программистов.

Программы предназначены для чтения людьми и только случайно для выполнения компьютерами.

- Дональд Кнут

Мы пишем код не только для компьютера; также для общения с коллегами-программистами и с самими собой в будущем.

Программисты тратят большую часть своего времени на чтение кода, чем на его написание. Простота и Имплицитность играют важную роль в понимании кода.

Простота = Лаконичность кода

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

в действии

Обе стороны кодов вычислительно эквивалентны, но правые воспринимаются лучше.

Инструменты линтинга помогают контролировать стиль кода. Он может применять некоторые бесполезные правила, которые могут нарушить красоту кода.

Помните, инструменты не идеальны; Без сомнения, они помогают избежать некоторых проблем, но применение роботизированного руководства по стилю не всегда может быть подходящим. Они не должны порабощать нас!

Не жертвуйте простотой ради инструмента!

Связанный контент

  • Python - лучший выбор для специалистов по обработке данных и физиков, поскольку он позволяет нам делать больше с меньшими затратами.
  • Использование лямбда (в Python, Java, JavaScript, C #) делает код функции чистым и, возможно, выразительным субъективно.
  • Люди плохо хранят кратковременную память. Это деятельность, требующая усилий. Полезно держать блок кода в пределах видимости области просмотра.

Когда код пересекает границы области просмотра, вам нужно прокрутить его вверх или вниз, чтобы в голове возникло одно представление кода.

Код для понимания = код в представлении + код вне поля зрения (когнитивная нагрузка)

Ключ в том, чтобы код был коротким и управляемым.

Имплицитность = выразительность кода

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

в действии

И левая, и правая части вычислительно эквивалентны. Однако правосторонний код легко разглядеть. Простое правильное именование значительно улучшило понятность кода и уменьшило количество догадок. Не правда ли?

Имплицитность помогает избежать таких проблем, как: возможно, вы столкнетесь со своим кодом через долгое время и не поймете его.

Связанный контент

Инструменты Обфускаторы кода работают путем переименования, переформатирования и оптимизации входного кода, не влияя на функциональность. Эти инструменты делают результирующий код некрасивым, что затрудняет восприятие людьми.

Другими словами, они заставляют код терять имплицитность.

  • Uglify для JavaScript
  • ProGuard для Java
  • BitBoost для Python

Заключительные примечания

И Простота, и Имплицитность помогают сократить усилия по сопровождению кода. Может быть время; лаконичность кода (простота) затрудняет восприятие кода; всегда лучше выбирать имплицитность, а не простота. Можно пойти по правильному пути, развивая дизайн-мышление, так называемое сочувствие разработчика. Он играет роль ваших клиентов: будущих читателей кода.

Дополнительное чтение