Чистый код: создание, анализ и рефакторинг презентация

Содержание

Слайд 4

Какой код называют “чистым”?

Код приятно читать
Удобно и возможно сопровождать
Код не содержит дублирования
Содержит простые

абстракции
Прямолинеен и компактен

4/21

Слайд 5

Содержательные имена

Не надо так: int d; //прошедшее время
Лучше так:
int daysSinceCreation;
int fileAgeInDays;

5/21

Слайд 6

Пример. Что делает эта функция?

public List getThem()
{
List list1 = new

List();
foreach (int[] x in theList)
if (x[0] == 4)
list1.Add(x);
return list1;
}

6/21

Слайд 7

Улучшение 1.

public List getFlaggedCells()
{
List flaggedCells = new List();
foreach (int[]

cell in gameBoard)
if (cell[STATUS_VALUE] == FLAGGED)
flaggedCells.Add(cell);
return flaggedCells;
}

7/21

Слайд 8

Улучшение 2.

public List getFlaggedCells()
{
List flaggedCells = new List();
foreach (Cell

cell in gameBoard)
if (cell.isFlagged())
flaggedCells.Add(cell);
return flaggedCells;
}

8/21

Слайд 9

Имена классов

Существительные и их комбинации
Customer, WikiPage, Account, AddressParser, …

9/21

Слайд 10

Имена методов

Глаголы или глагольные словосочетания
PostPayment, DeletePage, Save, …

10/21

Слайд 11

Функции

Компактность (примерно 20 строк)
Функция должна выполнять одну операцию и ничего другого
Один уровень абстракции

на функцию
Чтение кода сверху вниз

11/21

Слайд 12

Разделение команд и запросов

if (set(“username”, “unclebob”)) if (AttributeExists("username"))
{
SetAttribute("username", "unclebob");
...
}

12/21

Слайд 13

Форматирование кода

13/21

Слайд 14

Объекты и структуры данных. Процедурный код.

14/21

Слайд 15

Объекты и структуры данных. Объектно-ориентированный код.

15/21

Слайд 16

Обработка ошибок

16/21

Слайд 17

SOLID

S – SRP – Принцип единой отвественности
O – OSP – Принцип открытости/закрытости
L –

LSP – Принцип подстановки Барбары Лисков
I – ISP – Принцип разделения интерфейса
D – DIP – Принцип инверсии зависимостей

17/21

Слайд 18

KISS

Keep it short and simple (keep it simple, stupid)

18/21

Слайд 19

DRY

Don’t repeat youserlf
Антоним: WET – Write Everything Twice

19/21

Слайд 20

YAGNI

You ain’t gonna need it

20/21

Имя файла: Чистый-код:-создание,-анализ-и-рефакторинг.pptx
Количество просмотров: 21
Количество скачиваний: 0