DevGang
Авторизоваться

Соглашения об именовании и руководства по стилю в программировании

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

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

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

В зависимости от языка программирования и принятой в сообществе практики могут использоваться разные стили регистра. Ниже приведены некоторые типичные типы случаев и примеры, в которых они используются:

[
"camelCase", 
"PascalCase", 
"snake_case",
"kebab-case",
"SCREAMING_SNAKE_CASE"
] 

1. Camel Case (также известный как нижний верблюжий регистр): при применении этого регистра имен между словами в этом стиле нет пробелов или знаков подчеркивания, в котором начальная буква каждого слова, кроме первого, делается заглавной. Он часто используется для именования переменных, функций и методов в таких языках программирования, как JavaScript, Java, Python, C# и т. д.

Пример:

Вот несколько примеров фрагментов кода, написанных в camelCase:

Объявление переменной (Java):

int numberOfStudents;
String userName;
double averageScore;

Определение метода (Python):

def calculateTotalAmount(paymentList):
    totalAmount = 0
    for payment in paymentList:
        totalAmount += payment
    return totalAmount

Вызов функции (JavaScript):

let formattedName = formatUserName(userName);

Не рассматривая только методы и имена переменных, эти примеры показывают, как использовать camelCase, где каждое слово в идентификаторе начинается с прописной буквы, кроме первой. Для повышения удобочитаемости и поддержания согласованного стиля кодирования.

2. Pascal Case, часто называемый верхним верблюжьим регистром: это вариант верблюжьего регистра, в котором начальная буква каждого слова пишется с большой буквы. В таких языках программирования, как C#, C++ и Python, он часто используется для именования классов и типов.

Примеры

Вот несколько примеров фрагментов кода, написанных на PascalCase:

Определение класса (С#):

public class BankAccount
{
    private string accountNumber;
    private decimal currentBalance;

    public string AccountNumber
    {
        get { return accountNumber; }
        set { accountNumber = value; }
    }

    public decimal CurrentBalance
    {
        get { return currentBalance; }
        set { currentBalance = value; }
    }
}

Определение метода (Java):

public void CalculateTotalAmount(List<decimal> paymentList)
{
    decimal totalAmount = 0;
    foreach (decimal payment in paymentList)
    {
        totalAmount += payment;
    }
    return totalAmount;
}

Определение интерфейса (TypeScript):

interface IEmployee {
    empCode: number;
    empName: string;
    getSalary: (number) => number; 
    getManagerName(number): string; 
}

Объявление перечисления:

public enum DaysOfWeek
{
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
}

Эти примеры демонстрируют классы имен, методы, интерфейсы и перечисления с использованием PascalCase. При использовании PascalCase первая буква каждого слова, даже самого первого, становится заглавной. Он часто используется для поддержания согласованного соглашения об именах и улучшения читаемости кода на таких языках, как C#, Java, TypeScript, JavaScript, C++ и т. д.

3. Snake Case: в этом стиле часто используются строчные буквы и знаки подчеркивания (_) между словами. Он часто используется для именования переменных и функций в таких языках, как Python и Ruby, а также для именования файлов и папок в таких средах, как Reactjs.

Примеры

Вот несколько примеров фрагментов кода, написанных в snake_case:

Объявление переменной (Python):

number_of_students = 30
user_name = "johnsmith"
average_score = 85.5

Определение функции (Ruby):

def calculate_total_amount(payment_list)
    total_amount = 0
    payment_list.each do |payment|
        total_amount += payment
    end
    total_amount
end

Имена столбцов базы данных (SQL):

CREATE TABLE users (
    id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    email_address VARCHAR(255),
    date_of_birth DATE
);

В этих примерах переменные, функции, константы, столбцы базы данных и файлы конфигурации называются с использованием змеиного регистра. Snake_case разделяет слова символами подчеркивания (_) и строчными буквами. Он часто используется для поддержания согласованного соглашения об именах и улучшения читаемости кода на таких языках, как Python, Ruby и SQL.

4. Kebab Case (также пишется тире, спинной регистр): Между словами в этом стиле используются дефисы (-) и строчные буквы. Он часто используется в атрибутах HTML, именах файлов и URL-адресах. Однако именование переменных или функций с его использованием не так распространено в программировании.

Примеры

Вот несколько примеров фрагментов кода, написанных в kebab-case:

HTML-классы (HTML):

<div class="container-fluid"></div>

Класс CSS (CSS):

.header-title {
    font-size: 20px;
    color: #333;
}

Имя пакета (Java):

com.example.my-project

Аргументы командной строки ((Shell script):

./script.sh --verbose-mode

В этих примерах используется соглашение об именах в kebab-case для параметров командной строки, URL-адресов, классов CSS, элементов HTML и классов CSS. Строчные буквы и дефис (-) используются в регистре kebab-case для разделения слов. Он часто используется в таких языках, как HTML, CSS, JavaScript и других, которые позволяют использовать дефисы в качестве разделителей слов. Для многих сценариев использования kebab-case улучшает читаемость и гарантирует согласованность стандартов именования.

5. Screaming Snake Case: в этом шрифте используются прописные буквы и символы подчеркивания (_) между словами. Его также называют змеиным регистром в верхнем регистре или screaming case (кричащим случаем). Обычно он используется для обозначения констант или глобальных переменных.

Примеры

Вот несколько примеров фрагментов кода, написанных в SCREAMING_SNAKE_CASE:

Объявление константы (Python):

MAX_ATTEMPTS = 5
PI_VALUE = 3.14159
ERROR_MESSAGE = "An error occurred."

Объявление константы (JavaScript):

const MAX_ATTEMPTS = 5;
const PI_VALUE = 3.14159;
const ERROR_MESSAGE = "An error occurred.";

Глобальные переменные (С):

#define BUFFER_SIZE 1024
const int MAX_ITEMS = 10;

Переменные конфигурации (Shell script):

DATABASE_HOST="localhost"
DATABASE_PORT=5432
USERNAME="admin"
PASSWORD="password123"

Директивы препроцессора (C++):

#define LOG_ENABLED
#define VERSION "1.0.0"

Для именования констант, значений перечисления, глобальных переменных, переменных конфигурации и директив препроцессора в этих примерах используется SCREAMING_SNAKE_CASE. Буквы верхнего регистра и символы подчеркивания (_) используются в SCREAMING_SNAKE_CASE для разделения слов. Он часто используется для представления констант и глобальных значений, которые не следует изменять в таких языках, как Python, C++ и сценариях оболочки. SCREAMING_SNAKE_CASE часто используется для повышения удобочитаемости кода и обеспечения согласованности, а также подчеркивает, что определенные значения должны рассматриваться как неизменяемые.

РУКОВОДСТВО ПО СТИЛЮ ДЛЯ НЕКОТОРЫХ ЯЗЫКОВ, ПОМОГАЮЩЕЕ УЛУЧШЕНИЮ КОНВЕНЦИИ НАЗВАНИЯ И НАИЛУЧШЕЙ ПРАКТИКЕ

Эти руководства по стилю часто определяют соглашения по кодированию, стандарты форматирования и рекомендации по написанию чистого и поддерживаемого кода. Вот несколько примеров:

HTML:

  1. Руководство по стилю Google HTML/CSS – https://google.github.io/styleguide/htmlcssguide.html
  2. Руководство по стилю HTML для Mozilla Developer Network (MDN) — https://developer.mozilla.org/en-US/docs/MDN/Guidelines/Code_guidelines/HTML
  3. Руководство по веб-коду: HTML - https://webcodeguidelines.com/HTML/

CSS:

  1. Руководство по стилю Airbnb CSS/Sass — https://github.com/airbnb/css
  2. Руководство по стилю Google HTML/CSS – https://google.github.io/styleguide/htmlcssguide.html
  3. Руководство по стилю CSS для Mozilla Developer Network (MDN) — 

https://developer.mozilla.org/en-US/docs/MDN/Guidelines/Code_guidelines/CSS

Python:

  1. PEP 8: Руководство по стилю для кода Python — https://www.python.org/dev/peps/pep-0008/
  2. Руководство по стилю Google Python — https://google.github.io/styleguide/pyguide.html

JavaScript:

  1. Руководство по стилю JavaScript для Airbnb — https://github.com/airbnb/javascript
  2. Руководство по стилю Google JavaScript – https://google.github.io/styleguide/jsguide.html

Java:

  1. Соглашения Oracle Code для языка программирования Java — https://www.oracle.com/java/technologies/javase/codeconventions-introduction.html
  2. Руководство по стилю Google Java – https://google.github.io/styleguide/javaguide.html

C++:

  1. Руководство по стилю Google C++ - https://google.github.io/styleguide/cppguide.html
  2. Стандарты кодирования LLVM — https://llvm.org/docs/CodingStandards.html

C#:

  1. Соглашения о кодировании Microsoft C# — https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions
  2. Стандарты кодирования C# и соглашения об именах — https://www.dofactory.com/reference/csharp-coding-standards

Ruby:

  1. Руководство по стилю Ruby — https://rubystyle.guide/
  2. Руководство по стилю Ruby на GitHub — https://github.com/github/rubocop-github/blob/master/STYLEGUIDE.md

PHP:

  1. PHP-FIG PSR-12: Расширенное руководство по стилю кодирования — https://www.php-fig.org/psr/psr-12/
  2. Руководство по стилю кодирования Laravel — https://laravel.com/docs/8.x/contributions#coding-style-guide

Swift:

  1. Язык программирования Swift — Руководство по разработке API — https://swift.org/documentation/api-design-guidelines/
  2. Raywenderlich.com Руководство по стилю Swift — https://github.com/raywenderlich/swift-style-guide

Эти руководства по стилю содержат рекомендации по структурированию и форматированию кода, а также рекомендации по соглашениям об именах, отступам, комментариям и т. д.

Заключение

Конкретные стандарты именования могут различаться в зависимости от языка программирования и стиля кодирования, используемого данной командой разработчиков; важно помнить, что это всего лишь условности и предложения.

Также обратите внимание, что руководства по стилю кодирования могут быть субъективными и различаться в зависимости от организации, команды или индивидуальных предпочтений. Всегда полезно следовать соглашениям, используемым в вашем конкретном проекте, или сверяться с любыми рекомендациями, предоставленными создателями языка или крупными организациями в соответствующих сообществах.

Источник:

Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу