Code Convention

Intro

Problem

  • Как упростить чтение кода для себя?

  • Как упростить чтение кода для других разработчиков?

  • Почему важно повышать читаемость кода?

    • Hа понимание того, что делает код, тратится меньше времени.

  • Как достичь высокой читаемости кода?

Solution

  • Использовать стандартные соглашения по написанию кода.

Code Convention

Conventions/Styles

Naming Convention

Naming Convention

  • Использовать какой-то Naming Convention.

  • Naming Convention - это ТОЛЬКО соглашение.

  • Naming Convention не несет принудительные правила.

  • Naming Convention несет рекомендуемые правила.

Packages

Для именования использовать:

  • lower_snake_case

  • уникальные имена в рамках одного package

  • обратное domain name как prefix для packages

  • _ для исключительных случаев

Example

Classes

Для именования использовать:

  • UpperCamelCase

  • существительные

Example

  • String

  • ArrayList

  • StringRegexUtil

Interfaces

Для именования использовать:

  • UpperCamelCase

  • прилагательные (иногда существительные)

Example

  • Runnable

  • Comparable

  • Serializeable

  • Remote

  • ActionListener

Methods

Для именования использовать:

  • lowerCamelCase

  • глаголы (чаще всего)

  • имя отражающее то, что он делает или возвращает

Example

  • getName()

  • addElement()

  • size()

  • calculate()

Variables

Для именования использовать:

  • lowerCamelCase

  • существительные

  • имя отражающее смысл хранимого значения

Example

  • i - index

  • k - key

  • firstname

  • currentTitle

Constants

Для именования использовать:

  • UPPER_SNAKE_CASE

  • final

Example

  • static final double PI = 3.141592653

  • final int MAX_AGE = 150

Types Parameters

Для именования использовать:

  • UPPERLETTER

Example

  • E - Element

  • T - Type

  • K - Key

  • V - Value

  • etc. - for other types