24
Конструирование кода: Думай верно! (или 5 Правильных Убеждений) Токарев Олег, Hosting Concepts B.V.

CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Конструирование кода:Думай верно!

(или 5 Правильных Убеждений)

Токарев Олег,

Hosting Concepts B.V.

Page 2: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Когда актуально?

>1мес. >1 coder

>1 проекттребуется поддержка

Page 3: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Характерные сложности

Задолбал своим перфекционизмом!

О, Боже!

Только не мой мозг!

Кто виноват?

Чьи «костыли»?!! Поубивал бы!!

Page 4: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Что делать?

Бить по голове чайником?

Стоять у каждого над душой?

Page 5: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Всегда ли есть ресурсы для этого?

Page 6: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Новый путь!

Page 7: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Пять волшебных убеждений!

Page 8: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

* убеждения

Какие Цели?Какие средства Хорошие?Почему эти средства Хорошие?

Page 9: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

* убеждения

Почему хорошо?Меньше кода → проще менять → гибкость

Почему хорошо?Меньше кода → проще менять → гибкость

Цели Архитектуры:стабильность, гибкость

Цели Архитектуры:стабильность, гибкость

Что хорошо?Меньше кода — хорошо!Проще читать — супер!

Что хорошо?Меньше кода — хорошо!Проще читать — супер!

Page 10: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

* убеждения

Запоминающаяся формулировка.Почему Хорошо — очевидно всем.Повторение — мать учения.

Page 11: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Итак

 

Page 12: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Правило прикрытой жопы!

Безобразно, но единообразно!

Разделяй и властвуй!

Правило Бестселлера!

Скаут — друг природы!

Page 13: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Правило прикрытой жопы

<?php if (check_something()) {           echo "Everything is alright!";   } else {           echo "Something goes wrong";;  } 

?>

Жопа надёжно прикрыта.Разработчик спокоен и расслаблен.

Page 14: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

<?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 Правильных Убеждений)

Безобразно, но единообразно

Одинаковые сарафаны Одинаковые автоматы Одинаковые команды

Page 16: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Разделяй и властвуй

ПсевдоязыкиИнтерфейсы

Физическое разнесениеРазделение команды

Page 17: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Следствие 1:Гавнокод в стойло!

Преимущества гавнокода:

•Скорость

•Гибкость

•Не жалко

Page 18: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Правило Бестселлера

Page 19: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Правило Бестселлера

Page 20: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Скаут — друг природы!

Page 21: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Ещё раз

 

Page 22: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)
Page 23: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Как узнать, что это работает?

Page 24: CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правильных Убеждений)

Вопросы?

Олег Токарев,Hosting Concepts B.V.

[email protected]