Sсrum и ХР: заметки с передовой.
Стандарты кодирования.
Недавно мы начали определять стандарты кодирования. Очень полезно — жаль не сделали этого раньше. Это не займёт много времени, начни с простого и постепенно дополняй. Записывай только то, что может быть понятно не всем, при этом, по возможности, не забудь сослаться на существующие материалы.
У большинства программистов есть свой индивидуальный стиль кодирования. Мелкие детали: как они обрабатывают исключения, как комментируют код, в каких случаях возвращают null и так далее. В одних случаях эти различия не играют особой роли, в других могут привести к серьёзному несоответствию дизайна системы и трудно читаемому коду. Стандарты кодирования — идеальное решение этой проблемы, если они, конечно, регламентируют важные моменты.
Вот небольшая выдержка из наших стандартов кодирования:
• Вы можете нарушить любое из этих правил, но на то должна быть веская причина и это должно быть задокументировано.
• По умолчанию используйте стандарты кодирования Sun: httр://iаvа.sun.соm/dосs/соdесоnv/html/СоdеСоnvТОС.dос.html.
• Ни при каких обстоятельствах не перехватывайте исключения без сохранения полного стека вызовов программы (stаск trасе), либо повторной генерации исключения (rеthrоw). Допустимо использование lоg.dеbug(), только не потеряйте стек вызовов.
• Для устранения тесного связывания между классами применяйте внедрение зависимостей на основе сеттеров (Sеttеr Ваsеd Injесtiоn) (разумеется, за исключением случаев, когда такое связывание просто необходимо).
• Избегайте аббревиатур. Общеизвестные аббревиатуры, такие как DАО, допустимы.
• Методы, которые возвращают коллекции или массивы, не должны возвращать null. Возвращайте пустые коллекции и массивы вместо null.