CodeFest 2011. Токарев О — Конструирование кода: «Думай...

Preview:

DESCRIPTION

 

Citation preview

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

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

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

Hosting Concepts B.V.

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

>1мес. >1 coder

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

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

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

О, Боже!

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

Кто виноват?

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

Что делать?

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

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

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

Новый путь!

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

* убеждения

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

* убеждения

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

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

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

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

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

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

* убеждения

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

Итак

 

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

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

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

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

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

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

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

?>

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

<?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";}?>

Попа прекрыта НЕ надёжно.Программиста мучает мания

преследования и ночные кашмары

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

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

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

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

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

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

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

•Скорость

•Гибкость

•Не жалко

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

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

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

Ещё раз

 

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

Вопросы?

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

otokarev@hosting-concepts.nl

Recommended