Чистый код
Содержательные имена
Имена должны передавать намерения программиста
Имя переменной, класса или любой другой структуры не должны вызвать потребности писать комментарий, который объяснит, для чего этот объект создан. Имена придают коду очевидность и понятность
// Плохой пример:
public List getThem()
{
List list1 = new ArrayList();
for (int[] x : theList)
if (x[0] == 4) list1.add(x);
return list1;
}
// Хороший пример
public List getFlaggedCells()
{
List flaggedCells = new ArrayList();
for (Cell cell : gameBoard)
if (cell.isFlagged()) flaggedCells.add(cell);
return flaggedCells;
}
Избегайте дезинформации
- Избегать нужно ложных ассоциаций
hp
,aix
,sco
относятся к Unix
- Конкретность конструкций
- Использовать тот же
accountList
не стоит, если данные не хранятся в List-конструкции (в той же Java) - лучше использовать простоaccounts
- Использовать тот же
- Использовать только чёткоразличимые имена
XYZControllerForEfficientHandlingOfStrings
иXYZControllerForEfficientStorageOfStrings
- очень схожи
- Использование строчных “O” и “L”, которые схожи с 0 (“o”) и 1 (“l”)
int a = l;
if ( O == l )
a = O1;
else l = 01;