Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

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

Содержание

2/21
Чистый код: создание, анализ и рефакторинг. 2/21 3/21 Какой код называют “чистым”?Код приятно читатьУдобно и возможно сопровождатьКод не содержит дублированияСодержит простые абстракцииПрямолинеен и компактен4/21 Содержательные именаНе надо так: int d; //прошедшее времяЛучше так:int daysSinceCreation;int fileAgeInDays;5/21 Пример. Что делает эта функция? public List getThem()    { Улучшение 1. public List getFlaggedCells()    { Улучшение 2. public List getFlaggedCells()    { Имена классовСуществительные и их комбинацииCustomer, WikiPage, Account, AddressParser, …9/21 Имена методовГлаголы или глагольные словосочетанияPostPayment, DeletePage, Save, …10/21 ФункцииКомпактность (примерно 20 строк)Функция должна выполнять одну операцию и ничего другогоОдин уровень Разделение команд и запросовif (set(“username”, “unclebob”))    if (AttributeExists( Форматирование кода13/21 Объекты и структуры данных. Процедурный код.14/21 Объекты и структуры данных. Объектно-ориентированный код.15/21 Обработка ошибок16/21 SOLIDS – SRP – Принцип единой отвественностиO – OSP – Принцип открытости/закрытостиL KISSKeep it short and simple (keep it simple, stupid)18/21 DRYDon’t repeat youserlfАнтоним: WET – Write Everything Twice19/21 YAGNIYou ain’t gonna need it20/21 Рефакторинг21/21
Слайды презентации

Слайд 2 2/21

2/21

Слайд 4 Какой код называют “чистым”?
Код приятно читать
Удобно и возможно

Какой код называют “чистым”?Код приятно читатьУдобно и возможно сопровождатьКод не содержит дублированияСодержит простые абстракцииПрямолинеен и компактен4/21

сопровождать
Код не содержит дублирования
Содержит простые абстракции
Прямолинеен и компактен
4/21


Слайд 5 Содержательные имена
Не надо так: int d; //прошедшее время
Лучше

Содержательные именаНе надо так: int d; //прошедшее времяЛучше так:int daysSinceCreation;int fileAgeInDays;5/21

так:
int daysSinceCreation;
int fileAgeInDays;
5/21


Слайд 6 Пример. Что делает эта функция?
public List getThem()

Пример. Что делает эта функция? 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()

Улучшение 1. public List getFlaggedCells()  {   List flaggedCells

{
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()

Улучшение 2. public List getFlaggedCells()  {   List flaggedCells

{
List flaggedCells =

new List();
foreach (Cell cell in gameBoard)
if (cell.isFlagged())
flaggedCells.Add(cell);
return flaggedCells;
}

8/21


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

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


9/21


Слайд 10 Имена методов
Глаголы или глагольные словосочетания
PostPayment, DeletePage, Save, …
10/21

Имена методовГлаголы или глагольные словосочетанияPostPayment, DeletePage, Save, …10/21

Слайд 11 Функции
Компактность (примерно 20 строк)
Функция должна выполнять одну операцию

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

и ничего другого
Один уровень абстракции на функцию
Чтение кода сверху

вниз

11/21


Слайд 12 Разделение команд и запросов
if (set(“username”, “unclebob”)) if (AttributeExists("username"))
{

Разделение команд и запросовif (set(“username”, “unclebob”))  if (AttributeExists(

SetAttribute("username", "unclebob");
...
}
12/21


Слайд 13 Форматирование кода
13/21

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

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

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

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

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

Слайд 16 Обработка ошибок
16/21

Обработка ошибок16/21

Слайд 17 SOLID
S – SRP – Принцип единой отвественности
O –

SOLIDS – SRP – Принцип единой отвественностиO – OSP – Принцип

OSP – Принцип открытости/закрытости
L – LSP – Принцип подстановки

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

17/21


Слайд 18 KISS
Keep it short and simple (keep it simple,

KISSKeep it short and simple (keep it simple, stupid)18/21

stupid)
18/21


Слайд 19 DRY
Don’t repeat youserlf

Антоним: WET – Write Everything Twice
19/21

DRYDon’t repeat youserlfАнтоним: WET – Write Everything Twice19/21

Слайд 20 YAGNI
You ain’t gonna need it
20/21

YAGNIYou ain’t gonna need it20/21

  • Имя файла: chistyy-kod-sozdanie-analiz-i-refaktoring.pptx
  • Количество просмотров: 94
  • Количество скачиваний: 0