Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Автор: Савченко В.В. ИП-41 Java Code Conventions↑ Стр 1 из 5Следующая ⇒ Содержание книги
Поиск на нашем сайте
*Предлагаю не делать видеолекцию по этому материалу(так как вообще не представляю, как по этому можно что-либо слепить), а просто выложить отдельным документом, который будет доступным на любом этапе курса(делать ссылки на него, упоминать в других разделах курса и т.д.) Если в команде разработчиков все будут придерживаться общепринятых правил – использование шаблонов проектирования, одинаковое оформление кода, то им будет легче взаимодействовать, понимать друг другом написанный код, и времени на понимание – “эээ, а что ж тут написано?…” будет затрачено гораздо меньше. Есть такой документ Code Conventions for the JavaTM Programming Language в котором описано как должен оформляться код. Думаю каждый Java программист должен знать свод этих правил. JCC важны для программистов из-за целого ряда причин : • Очень редко программное обеспечение обслуживается в течение всего существования первоначальным автором . • JCC улучшают читаемость программного обеспечения , что позволяет инженерам понять новый код более быстро и точно . • Если вы отправляете свой исходный код в качестве продукта, необходимо убедиться, что он хорошо оформлен и «чист», как и любой другой продукт, который вы создаете.
ОФОРМЛЕНИЕ ФАЙЛА С ИСХОДНЫМ КОДОМ: Файл состоит из разделов, которые должны быть разделены пустыми строками и иметь дополнительные обьясняющие комментарии идентификации каждого раздела.Файлы больше, чем 2000 строк громоздки и их следует избегать . Каждый исходный файл Java содержит один public класс или интерфейс. Когда private классы и интерфейсы связанны с public классом, вы можете поместить их в исходном файле public класса . Public класс должeн быть первым классом или интерфейсом в файлe. Исходные файлы Java имеют следующий порядок :• Начальные комментарии • Отчетность об импорте и упаковке; например:import java.applet.Applet; import java.awt.*; import java.net.*;• Обьявление классов и интерфейсов НАЧАЛЬНЫЕ КОММЕНТАРИИ:Все исходные файлы должны начинаться с комментария в стиле С, в котором перечислена информация о программисте(ах), дате создания продукта, уведомление об авторских правах , а также краткое описание целей программы . Например:/* * Classname * * Version info * * Copyright notice */
ОБЬЯВЛЕНИЕ КЛАССОВ И ИНТЕРФЕЙСОВ: Следующая таблица описывает части объявления класса или интерфейса , в том порядке, в котором они должны появиться в коде .Тип обьявления
Заметки Документирующий комментарий класса/интерфейса(/**...*/)
Обьявление class или interface - Комментарий к реализации класса/интерфейса(/*...*/), если нужно. Этот комментарий должен содержать любую информацию о классе/интерфейсе в целом, которую невозможно было включить в документирующий комментарий.Переменные класса (static) Сначала переменные public, потом protected, и затем private. Другие переменные Сначала переменные public, потом protected, и затем private. Конструкторы - Методы Методы должны группироваться по принципу общих функциональных свойств, что бы сделать понимание кода легче. ОТСТУПЫ: Четыре пробела должны быть использованы в качестве единицы отступа . Точное построение отступа(пробелы против табуляции) не определено . Табы должны быть установлены ровно каждые 8 пробелов (не 4 ) . ДЛИНА СТРОК: Избегайте строк длиннее 80 символов, так как они плохо обрабатываются многими терминалами и инструментами. Примечание: Примеры использования документации должны иметь более короткую линию длиной обычно не более 70 символов . ПЕРЕНОС СТРОКИ:Когда выражение не помещается в одну строку, следует разделить его в соответствии с нижеприведенными правилами: • Разрыв после запятой . • Разрыв перед оператором . • Более предпочтительны разрывы на высшем уровне, чем разрывы на нижних. • Совместите новую строку с началом выражения на том же уровне, что и на предыдущей строке. • Если вышеуказанные правила приведут к путанице кода или к коду, который смещен за правую границу, просто внесите в строку отступ из 8 пробелов.
Вот несколько примеров разрыва строки в вызове метода: function(longExpression1, longExpression2, longExpression3, longExpression4, longExpression5); var = function1(longExpression1, function2(longExpression2, longExpression3));
Следующие два примера показывают, как следует разбивать арифметические выражения. Первый более предпочтителен, так как разрыв не разделяет подвыражение в скобках, второго же примера следует избегать. longName1 = longName2 * (longName3 + longName4 - longName5) + 4 * longname6;
longName1 = longName2 * (longName3 + longName4 - longName5) + 4 * longname6;
Из следующих примеров видно, какие отступы должны быть у оглашений методов. Во втором отступы всего по 8 пробелов, так как иначе 2 и 3 строки в процессе смещения выйдут за границу позволенной длины строки. someMethod(int anArg, Object anotherArg, String yetAnotherArg, Object andStillAnother) { ... } private static synchronized horkingLongMethodName(int anArg, ... } Отступы для выражений if должны состоять из 8 пробелов, иначе будет тяжело разобраться в теле условия. if ((condition1 && condition2) if ((condition1 && condition2) || (condition3 && condition4) Java программы могут иметь два вида комментариев : комментарии реализации и документирующие комментарии . Комментарии реализации такие же как и те, которые содержатся в C ++ , они обычно разграничены /*...*/ , и //. Документирующие комментарии (известные как " Javadoc " ) свойственны только Java и ограничиваются /**...*/ . Такие комментарии могут быть извлечены в HTML файлы с помощью инструмента Javadoc .
Комментарии реализации предназначены для комментирования кода или для комментариев о конкретном случае в реализации. Doc комментарии предназначены для описания спецификации кода с нереализационной точки зрения, для использования разработчиками, которые не обязательно имеют исходный код под рукой.
Комментарии используются для того, чтобы дать обзор кода и предоставить дополнительную информацию, которая не является доступной из самого кода. Комментарии должны содержать только информацию, которая имеет отношение к чтению и пониманию программы. Например, информация о том, как соответствующий пакет построен или в какой директории он находится не должны быть включены в комментарии.
Обсуждение нетривиальных или неочевидных проектных решений целесообразно, но стоит избегать дублирования информации, которая присутствует в коде. Тогда будет тяжело уследить за актуальностью избыточных комментариев. В общем, следует избегать каких-либо комментариев, которые могут устареть, в процессе изменения кода.
Примечание: частота комментариев иногда отражает низкое качество кода. Когда вы чувствуете, что вынуждены добавить комментарий, подумайте о том, чтобы переписать код, дабы сделать его более ясным.
ОБЬЯВЛЕНИЯ: Допускается всего одно обьявление на строку, так как это позволяет лаконично комментировать код. int level; // indentation level int size; // size of table
Не пишите обьявления разных типов в одну строку и также не обьявляйте переменные и функции в общей строке. Так не надо делать: long dbaddr, getDbaddr(); int foo, fooarray[];
В вышеуказанных примерах между типом и именем стоит пробел, еще один способ правильно обьявить данные, это использовать табы: int level; // indentation level int size; // size of table Object currentEntry; // currently selected table entry
ПУСТЫЕ СТРОКИ: Пустые строки следует использовать, если надо разграничить логически не связанные элементы программы, дабы повысить читабельность кода.
Две пустые строки должны всегда быть между секциями исходного файла и определениями классов и интерфейсов.
Одна пустая строка всегда должна быть:
• Между методами • Между локальными переменными в методе и их первым обьявлением. • Перед блоком или одиночным комментарием. • Между логическими разделами внутри метода для улучшения читаемости.
СОГЛАШЕНИЯ ОБ ИМЕНОВАНИИ: Именование делает программы более понятными, адаптируя их более удобными для чтения. Это также может дать информацию о функции идентификатора, например, является ли он константой или классом, что может быть полезным для понимания кода.
Тип идентификатора Правила именования Примеры Класс Имена классов должны быть существительными, первая буква названия - заглавная. Старайтесь, чтобы ваши имена классов были простыми и имели описательный характер. Используйте полные слова - избегайте сокращений и аббревиатур. class Raster; class ImageSprite; Интерфейс Аналогично с именами классов. interface RasterDelegate; interface Storing; Методы Имена методов должны быть глаголами. Первая буква в нижнем регистре, а первые буквы каждого внутреннего слова заглавные. run(); runFast(); getBackground(); Переменные Имена переменных записываются в нижнем регистре. Они должны быть короткими, но информативными. Однобуквенных имен следует избегать, кроме случаев «временных» переменных. int i; char cp; float myWidth; Константы Имена констант в в классе записываются в формате заглавных букв с нижним подчеркиванием для разделения. int MIN_WIDTH = 4; int MAX_WIDTH = 999; int GET_THE_CPU = 1;
|
|||||||
Последнее изменение этой страницы: 2024-06-27; просмотров: 6; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.69.167 (0.011 с.) |