вторник, 19 марта 2013 г.

Именования в java и не только?

На самом деле, речь пойдёт не только об именовании, но и в более общем смысле об оформлении кода. Стандарт оформления кода (стандарт кодирования, стиль программирования - англ. coding standards, coding convention или programming style) - набор правил и соглашений, используемых при написании исходного кода на некотором языке программирования. Зачем это всё вообще надо и что можно почитать по теме?

Цели стандартизации:
  • обеспечить единообразное оформление совместно используемого кода;
  • повысить эффективность взаимодействия нескольких человек при совместной разработке ПО;
  • упростить чтение и восприятие программного кода человеком;
  • сократить нагрузку на память при чтении программы;
  • в определённой степени дисциплинировать разработчика и повысить качество кода.
Можно придумать ещё несколько подобных формулировок, но суть останется та же - "за счёт определённого визуального оформления элементов программы повысить информативность кода для человека".

Наверняка многим известна (хотя бы понаслышке) венгерская нотация.

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

В мире java есть отличное соглашение об именовании, предложенное Sun - Code conventions for the java programming language. Штука чрезвычайно полезная из разряда must be read.

Многие организации конкретизируют Sun-овский стандарт и на его основе составляют собственные. В качестве примеров могу привести geosoft, NASA java style guideNetscape's software coding standards guide for java и пр.

Интересны предложения Stephen Colebourne (на всякий случай напомню - автора проекта joda) Implementations of interfaces - prefixes and suffixes, More Java prefixs and suffixes, Common Java method names и Factory names на тему суффиксов, префиксов и прочих плюшек, которые позволяют упростить чтение кода и сразу по названию понимать, например, что этот класс - фабрика, а вот этот - реализация, этот метод проверяет булево значение, а этот устанавливает значение. Переводить не буду, но для ознакомительного чтения посоветую.

И в качестве заключения - встречал мнение (и, в общем, сам его поддерживаю), что при проведении собеседований о приёме на работу (точнее, при выполнении соискателем тестовых заданий) следование (или не следование) этим претендентом какому-либо единому стилю кодирования и оформления кода добавляет плюс (или минус) в глазах проверяющего. Конечно, здесь идёт речь не о субъективной оценке в духе "мне вот такое расположение скобок не нравится, и переносы строк у нас в компании не так делаются", а об определённом опыте соискателя и его способности следовать выбранному стилю и писать читаемый код.

Комментариев нет:

Отправить комментарий