Стандарты кодирования в основном предоставляют команде разработчиков рекомендации по программированию, чтобы разработчики проектов имели единый формат, которому нужно следовать при программировании. Таким образом, код, написанный каждым программистом в команде разработчиков, может быть понятен другим, что повышает удобство сопровождения кода, делая набор программного обеспечения, написанного несколькими людьми, так, как если бы он был написан одним человеком, что упрощает код. понять. Это требует от всех использования единообразного стиля кодирования. Итак, причина, по которой введение этих стандартов является банальным, заключается в том, что когда к команде разработчиков проекта присоединяются новые разработчики, некоторые из них могут быть не знакомы со стандартами кодирования Delphi. Эти стандарты будут представлены здесь в следующих категориях: 1. Общие правила формата исходного кода 2. Процедуры и функции 3. Именование файлов, форм и модулей данных 4. Именование пакетов и компонентов Общие правила формата исходного кода Отступы указаны для каждого уровня. два пробела между ними. Не размещайте символы табуляции в исходном коде. Это связано с тем, что ширина символа табуляции варьируется в зависимости от различных настроек и утилит управления кодом (печать, документация, контроль версий и т. д.). Поля Поля установлены на 80 символов. Исходный код обычно не выходит за пределы написанного слова, но это правило более гибкое. По возможности операторы длиной более одной строки следует заключать в запятые или операторы. После разрыва строки отступ должен составлять два символа. В скобках нет пробела между открывающей скобкой и следующим символом. Аналогично, между закрывающей скобкой и предыдущим символом нет пробела. В следующем примере показаны правильные и неправильные пробелы. CallPROcedure(Parameters); // Неверно! CallProcedure (Parameters); // Правильно! Зарезервированные слова и ключевые слова Object Зарезервированные слова и ключевые слова в языке Паскаль всегда пишутся строчными буквами. Оператор Begin...endbegin должен находиться на отдельной строке. Например, первая строка ниже неверна, но вторая строка правильна: для i:=0 до 10 do BeginStatement end// Неверно, начало находится в той же строке, что и для i:=0 до 10 do //Исправить !begin in Особым случаем этого правила в BeginStatementend на другой строке является случай, когда начало является частью оператора else. Например: if Condition thenbeginStatement endelse BeginStatement, оператор endend всегда находится на отдельной строке; Если начало не является частью оператора else, соответствующий оператор конца сдвигается на ту же величину, что и оператор начала. Утверждение (1) Наиболее вероятная ситуация оператора if_then_else должна быть помещена в предложение then, а маловероятная ситуация должна быть помещена в предложение else. Чтобы избежать большого количества операторов if, используйте вместо них операторы case. Если уровней более 5, не используйте операторы if. Вместо этого используйте более понятный метод. Не используйте дополнительные круглые скобки в операторах if. В исходном коде круглые скобки используются только тогда, когда это действительно необходимо. Например: if (I=42) then // Неверно, круглые скобки излишни if (I=42) или (J=42) then // Правильно, необходимо использовать круглые скобки. Если в операторе if необходимо проверить несколько условий, Располагать следует справа налево в порядке вычислительной сложности. Это позволяет коду в полной мере использовать преимущества упрощенной логики оценки компилятора. Если Условие1 быстрее, чем Условие2, а Условие2 быстрее, чем Условие3, оператор if должен быть построен следующим образом: if Condition1 и Condition2 и Condition3 then(2) оператор case_else Константы для каждого случая в операторе case должны быть расположены в числовом или алфавитном порядке. заказ. Описание действия для каждой ситуации должно быть коротким и обычно не превышать 4–5 строк кода. Если действие слишком сложное, код следует вынести в отдельную процедуру или функцию. Предложение else оператора case используется только для случаев по умолчанию или для обнаружения ошибок. (3) Оператор while рекомендует не использовать процесс выхода для выхода из цикла while. При необходимости для выхода из цикла следует использовать условие цикла. Весь код, инициализирующий цикл while, должен располагаться перед записью while и не должен быть разделен ненужными операторами. Любую вспомогательную работу для бизнеса следует проводить сразу после цикла. (4) Оператор for Если количество циклов определено, вместо оператора while следует использовать оператор for. (5) оператор повторения. Оператор повторения аналогичен циклу while и подчиняется тем же правилам. (6) Оператор with Оператор with следует использовать с осторожностью. Избегайте чрезмерного использования операторов with, особенно при использовании нескольких объектов или записей в операторе with. Например: при использовании Record1 и Record2 такие ситуации могут легко запутать программистов и затруднить отладку. Структурированная обработка исключений Обработка исключений в основном используется для исправления ошибок и защиты ресурсов. Это означает, что при выделении ресурсов необходимо использовать команду try...finally, чтобы гарантировать освобождение ресурсов. Однако делаются исключения, если ресурсы выделяются/освобождаются в начальной/конечной части модуля или в конструкторе/деструкторе объекта. (1) Использование try...finally По возможности каждое выделение ресурсов должно соответствовать структуре try...finally. Например: //Следующий код может вызвать ошибки SomeClass1: = TSomeClass.Create;SomeClass2: = TSomeClass.Create;try{сделать код}finallySomeClass.Free;SomeClass.Free;end;//Безопасное решение для вышеуказанного ресурса распределение: SomeClass1: = TSomeClass Create;trySomeClass2: = TSomeClass Create;try{сделать код}finallySomeClass2.Free;end;finallySomeClass1.Free;end;(2) Использование try...кроме Если вы хотите выполнить некоторые задачи при возникновении исключения, вы можете использовать try...кроме. Обычно нет необходимости использовать try... кроме как для простого отображения сообщения об ошибке, поскольку объект приложения может сделать это автоматически в зависимости от контекста. Если вы хотите активировать обработку исключений по умолчанию в предложении, вы можете вызвать исключение еще раз. (3) Использование try...кроме...else не рекомендуется использовать с предложением else, поскольку это блокирует все исключения, включая исключения, которые вы не готовы обработать.