codefest 2011. Токарев О — Конструирование кода: «Думай...
DESCRIPTION
TRANSCRIPT
![Page 1: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/1.jpg)
Конструирование кода:Думай верно!
(или 5 Правильных Убеждений)
Токарев Олег,
Hosting Concepts B.V.
![Page 2: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/2.jpg)
Когда актуально?
>1мес. >1 coder
>1 проекттребуется поддержка
![Page 3: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/3.jpg)
Характерные сложности
Задолбал своим перфекционизмом!
О, Боже!
Только не мой мозг!
Кто виноват?
Чьи «костыли»?!! Поубивал бы!!
![Page 4: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/4.jpg)
Что делать?
Бить по голове чайником?
Стоять у каждого над душой?
![Page 5: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/5.jpg)
Всегда ли есть ресурсы для этого?
![Page 6: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/6.jpg)
Новый путь!
![Page 7: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/7.jpg)
Пять волшебных убеждений!
![Page 8: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/8.jpg)
* убеждения
Какие Цели?Какие средства Хорошие?Почему эти средства Хорошие?
![Page 9: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/9.jpg)
* убеждения
Почему хорошо?Меньше кода → проще менять → гибкость
Почему хорошо?Меньше кода → проще менять → гибкость
Цели Архитектуры:стабильность, гибкость
Цели Архитектуры:стабильность, гибкость
Что хорошо?Меньше кода — хорошо!Проще читать — супер!
Что хорошо?Меньше кода — хорошо!Проще читать — супер!
![Page 10: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/10.jpg)
* убеждения
Запоминающаяся формулировка.Почему Хорошо — очевидно всем.Повторение — мать учения.
![Page 11: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/11.jpg)
Итак
![Page 12: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/12.jpg)
Правило прикрытой жопы!
Безобразно, но единообразно!
Разделяй и властвуй!
Правило Бестселлера!
Скаут — друг природы!
![Page 13: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/13.jpg)
Правило прикрытой жопы
<?php if (check_something()) { echo "Everything is alright!"; } else { echo "Something goes wrong";; }
?>
Жопа надёжно прикрыта.Разработчик спокоен и расслаблен.
![Page 14: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/14.jpg)
<?php $ret = 0; $exception = false;try { $result = check_something(); } catch (Exception $e) { $ret = 0; $exception = true; report_error("check_something threw exception"); } if (!$exception) { if ($result === 1) { $ret = 1; } elseif ($result === 0) { $ret = 0; } elseif { report_error("check_something returned invalid values"); $ret = 0; } } if ($ret) { echo "Everything is alright!"; } else { echo "Something goes wrong";}?>
Попа прекрыта НЕ надёжно.Программиста мучает мания
преследования и ночные кашмары
![Page 15: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/15.jpg)
Безобразно, но единообразно
Одинаковые сарафаны Одинаковые автоматы Одинаковые команды
![Page 16: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/16.jpg)
Разделяй и властвуй
ПсевдоязыкиИнтерфейсы
Физическое разнесениеРазделение команды
![Page 17: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/17.jpg)
Следствие 1:Гавнокод в стойло!
Преимущества гавнокода:
•Скорость
•Гибкость
•Не жалко
![Page 18: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/18.jpg)
Правило Бестселлера
![Page 19: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/19.jpg)
Правило Бестселлера
![Page 20: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/20.jpg)
Скаут — друг природы!
![Page 21: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/21.jpg)
Ещё раз
![Page 22: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/22.jpg)
![Page 23: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)](https://reader033.vdocuments.pub/reader033/viewer/2022051210/54c81aa64a7959cc278b4642/html5/thumbnails/23.jpg)
Как узнать, что это работает?