SlideShare a Scribd company logo
Инструменты разработки.
Читабельность кода
Зигар Артём
zigar.a@i20.biz
Инструменты разработки
Command line tools (Drush)
● Drush API
● Сила алиасов
● Модули, интегрированные с drush
Инструменты разработки
Devel
● SQL
● Generate content
● Execute PHP
Инструменты разработки
Backup and Migrate
● Сжатие gzip, bzip и zip
● Хранение FTP
● Бэкап
● AES шифрование
● Drush
● Cron
Инструменты разработки
Features
Инструменты разработки
XHProf
Читабельность кода
“ Пишите код так, как будто
сопровождать его будет склонный к
насилию психопат, который знает,
где вы живёте.”
Мартин Голдинг
Читабельность кода
Undescore
$weekly_pay = $hours_work * $pay_rate;
Читабельность кода
CamelCase (“Верблюжья” нотация)
● Все названия, если они состоят из одного слова, пишутся строчными буквами
● Если название состоит из двух и более слов, то эти слова пишутся слитно строчными
буквами, за исключением букв на стыке слов (те пишутся заглавными)
● При именовании переменных рекомендуют использовать существительные
● Массивы и коллекции — существительные во множественном числе
● Функция — начинаем с глагола. Исключение — функции-конструктор пишут с Заглавной
буквы
Читабельность кода
Читабельность кода
Группирование кода
Читабельность кода
Принцип DRY
Читабельность кода
Избегайте глубокой вложенности
Читабельность кода
Drupal comment standarts
Спасибо за внимание!
Вопросы?

More Related Content

Similar to Artem Zigar. Development Tools. Readability of a code

игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решения
Владимир Кожаев
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny Novgorod
Nikita Baksalyar
 
Thumbtack Expertise Days # 5 - Dataset
Thumbtack Expertise Days # 5 - DatasetThumbtack Expertise Days # 5 - Dataset
Thumbtack Expertise Days # 5 - Dataset
Alexey Remnev
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON
 
JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)Mikhail Davydov
 
Scripting languages
Scripting languagesScripting languages
Scripting languagesLev Panov
 
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...CodeFest
 
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом EnterpriseПрофессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
Alexander Granin
 
Как не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPressКак не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPress
Yevhen Kotelnytskyi
 
инструменты веб разработчика
инструменты веб разработчикаинструменты веб разработчика
инструменты веб разработчикаSoftline
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
it-people
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016
Nikita Baksalyar
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
Kirill Kovalchuk
 
Go под капотом
Go под капотомGo под капотом
Go под капотом
Idris Djumanov
 
Как делать глобальный проект
Как делать глобальный проектКак делать глобальный проект
Как делать глобальный проектisdeforum
 
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniyaQasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniyaaysel9r2
 
Qasimli Aysel 9r2
Qasimli Aysel 9r2  Qasimli Aysel 9r2
Qasimli Aysel 9r2
aysel9r2
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
ScrumTrek
 

Similar to Artem Zigar. Development Tools. Readability of a code (20)

игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решения
 
Rust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny NovgorodRust - GDG DevFest 2016 Nizhny Novgorod
Rust - GDG DevFest 2016 Nizhny Novgorod
 
Thumbtack Expertise Days # 5 - Dataset
Thumbtack Expertise Days # 5 - DatasetThumbtack Expertise Days # 5 - Dataset
Thumbtack Expertise Days # 5 - Dataset
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
 
Генерация программы поведения игрового персонажа по естественно-языковой спец...
Генерация программы поведения игрового персонажа по естественно-языковой спец...Генерация программы поведения игрового персонажа по естественно-языковой спец...
Генерация программы поведения игрового персонажа по естественно-языковой спец...
 
JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)JavaScript. Introduction (in russian)
JavaScript. Introduction (in russian)
 
Scripting languages
Scripting languagesScripting languages
Scripting languages
 
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
CodeFest 2013. Лузин А. — Бэкенд-винегрет: как подружить разные ЯП на ваших с...
 
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом EnterpriseПрофессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
 
Как не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPressКак не сойти с ума при разработке крупных проектов на WordPress
Как не сойти с ума при разработке крупных проектов на WordPress
 
инструменты веб разработчика
инструменты веб разработчикаинструменты веб разработчика
инструменты веб разработчика
 
"Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно..."Девопс - это не только для программистов. Практические примеры из жизни одно...
"Девопс - это не только для программистов. Практические примеры из жизни одно...
 
Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016Rust - GDG DevFest Siberia 2016
Rust - GDG DevFest Siberia 2016
 
Kranonit s16 (python). sergey burma
Kranonit s16 (python). sergey burmaKranonit s16 (python). sergey burma
Kranonit s16 (python). sergey burma
 
Как писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодеромКак писать на PHP и не стать быдло-кодером
Как писать на PHP и не стать быдло-кодером
 
Go под капотом
Go под капотомGo под капотом
Go под капотом
 
Как делать глобальный проект
Как делать глобальный проектКак делать глобальный проект
Как делать глобальный проект
 
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniyaQasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniya
 
Qasimli Aysel 9r2
Qasimli Aysel 9r2  Qasimli Aysel 9r2
Qasimli Aysel 9r2
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 

More from i20 Group

Александр Воинов. Power of Drupal market
Александр Воинов. Power of Drupal marketАлександр Воинов. Power of Drupal market
Александр Воинов. Power of Drupal market
i20 Group
 
Журавлёв Артем. Современные инструменты отдела продаж
Журавлёв Артем. Современные инструменты отдела продажЖуравлёв Артем. Современные инструменты отдела продаж
Журавлёв Артем. Современные инструменты отдела продаж
i20 Group
 
Рогаченко Ксения. Инструменты онлайн маркетинга в b2b сегменте
Рогаченко Ксения. Инструменты онлайн маркетинга в b2b сегментеРогаченко Ксения. Инструменты онлайн маркетинга в b2b сегменте
Рогаченко Ксения. Инструменты онлайн маркетинга в b2b сегменте
i20 Group
 
Александр Войнов. Digital охота
Александр Войнов. Digital охотаАлександр Войнов. Digital охота
Александр Войнов. Digital охота
i20 Group
 
Осипенко Константин. Как привлечь новых клиентов на падающем рынке
Осипенко Константин. Как привлечь новых клиентов на падающем рынкеОсипенко Константин. Как привлечь новых клиентов на падающем рынке
Осипенко Константин. Как привлечь новых клиентов на падающем рынке
i20 Group
 
Горина Екатерина. 4 простых правила дизайна для увеличения конверсии
Горина Екатерина. 4 простых правила дизайна для увеличения конверсииГорина Екатерина. 4 простых правила дизайна для увеличения конверсии
Горина Екатерина. 4 простых правила дизайна для увеличения конверсии
i20 Group
 
Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool? Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool?
i20 Group
 
Anton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platformAnton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platform
i20 Group
 
Виджет amoCRM. Инструкция
Виджет amoCRM. ИнструкцияВиджет amoCRM. Инструкция
Виджет amoCRM. Инструкция
i20 Group
 
Pavel Ruban. High loaded PHP operations over web interface
Pavel Ruban. High loaded PHP operations over web interfacePavel Ruban. High loaded PHP operations over web interface
Pavel Ruban. High loaded PHP operations over web interface
i20 Group
 
Grigoriy Shlyapkin. Drupal. First steps
Grigoriy Shlyapkin. Drupal. First stepsGrigoriy Shlyapkin. Drupal. First steps
Grigoriy Shlyapkin. Drupal. First steps
i20 Group
 
Scrum lego game instructuons
Scrum lego game instructuonsScrum lego game instructuons
Scrum lego game instructuons
i20 Group
 
Mikhail Kraynuk. Form api. Drupal 8
Mikhail Kraynuk. Form api. Drupal 8Mikhail Kraynuk. Form api. Drupal 8
Mikhail Kraynuk. Form api. Drupal 8
i20 Group
 
Pavel Prischepa. Wodby
Pavel Prischepa. WodbyPavel Prischepa. Wodby
Pavel Prischepa. Wodby
i20 Group
 
Sergey Cherebedov. Interesting Drupal Distributions
Sergey Cherebedov. Interesting Drupal DistributionsSergey Cherebedov. Interesting Drupal Distributions
Sergey Cherebedov. Interesting Drupal Distributions
i20 Group
 
Namzhilma Zhambalova. Ajax pane. lazy pane.
Namzhilma Zhambalova. Ajax pane. lazy pane.Namzhilma Zhambalova. Ajax pane. lazy pane.
Namzhilma Zhambalova. Ajax pane. lazy pane.
i20 Group
 
Sergey Susikov. Virtualzation. My rakes
Sergey Susikov. Virtualzation. My rakesSergey Susikov. Virtualzation. My rakes
Sergey Susikov. Virtualzation. My rakes
i20 Group
 
Olesya Prokopenko.FlexBox. Future of the slicing
Olesya Prokopenko.FlexBox. Future of the slicingOlesya Prokopenko.FlexBox. Future of the slicing
Olesya Prokopenko.FlexBox. Future of the slicing
i20 Group
 
Chingis Sandanov. Container virtualization
Chingis Sandanov. Container virtualizationChingis Sandanov. Container virtualization
Chingis Sandanov. Container virtualization
i20 Group
 
Alexander Taranov. Right slicing for drupal = painless teming
Alexander Taranov. Right slicing for drupal = painless temingAlexander Taranov. Right slicing for drupal = painless teming
Alexander Taranov. Right slicing for drupal = painless temingi20 Group
 

More from i20 Group (20)

Александр Воинов. Power of Drupal market
Александр Воинов. Power of Drupal marketАлександр Воинов. Power of Drupal market
Александр Воинов. Power of Drupal market
 
Журавлёв Артем. Современные инструменты отдела продаж
Журавлёв Артем. Современные инструменты отдела продажЖуравлёв Артем. Современные инструменты отдела продаж
Журавлёв Артем. Современные инструменты отдела продаж
 
Рогаченко Ксения. Инструменты онлайн маркетинга в b2b сегменте
Рогаченко Ксения. Инструменты онлайн маркетинга в b2b сегментеРогаченко Ксения. Инструменты онлайн маркетинга в b2b сегменте
Рогаченко Ксения. Инструменты онлайн маркетинга в b2b сегменте
 
Александр Войнов. Digital охота
Александр Войнов. Digital охотаАлександр Войнов. Digital охота
Александр Войнов. Digital охота
 
Осипенко Константин. Как привлечь новых клиентов на падающем рынке
Осипенко Константин. Как привлечь новых клиентов на падающем рынкеОсипенко Константин. Как привлечь новых клиентов на падающем рынке
Осипенко Константин. Как привлечь новых клиентов на падающем рынке
 
Горина Екатерина. 4 простых правила дизайна для увеличения конверсии
Горина Екатерина. 4 простых правила дизайна для увеличения конверсииГорина Екатерина. 4 простых правила дизайна для увеличения конверсии
Горина Екатерина. 4 простых правила дизайна для увеличения конверсии
 
Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool? Eugene Ilyin. Why Drupal is cool?
Eugene Ilyin. Why Drupal is cool?
 
Anton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platformAnton Shloma. Drupal as an integration platform
Anton Shloma. Drupal as an integration platform
 
Виджет amoCRM. Инструкция
Виджет amoCRM. ИнструкцияВиджет amoCRM. Инструкция
Виджет amoCRM. Инструкция
 
Pavel Ruban. High loaded PHP operations over web interface
Pavel Ruban. High loaded PHP operations over web interfacePavel Ruban. High loaded PHP operations over web interface
Pavel Ruban. High loaded PHP operations over web interface
 
Grigoriy Shlyapkin. Drupal. First steps
Grigoriy Shlyapkin. Drupal. First stepsGrigoriy Shlyapkin. Drupal. First steps
Grigoriy Shlyapkin. Drupal. First steps
 
Scrum lego game instructuons
Scrum lego game instructuonsScrum lego game instructuons
Scrum lego game instructuons
 
Mikhail Kraynuk. Form api. Drupal 8
Mikhail Kraynuk. Form api. Drupal 8Mikhail Kraynuk. Form api. Drupal 8
Mikhail Kraynuk. Form api. Drupal 8
 
Pavel Prischepa. Wodby
Pavel Prischepa. WodbyPavel Prischepa. Wodby
Pavel Prischepa. Wodby
 
Sergey Cherebedov. Interesting Drupal Distributions
Sergey Cherebedov. Interesting Drupal DistributionsSergey Cherebedov. Interesting Drupal Distributions
Sergey Cherebedov. Interesting Drupal Distributions
 
Namzhilma Zhambalova. Ajax pane. lazy pane.
Namzhilma Zhambalova. Ajax pane. lazy pane.Namzhilma Zhambalova. Ajax pane. lazy pane.
Namzhilma Zhambalova. Ajax pane. lazy pane.
 
Sergey Susikov. Virtualzation. My rakes
Sergey Susikov. Virtualzation. My rakesSergey Susikov. Virtualzation. My rakes
Sergey Susikov. Virtualzation. My rakes
 
Olesya Prokopenko.FlexBox. Future of the slicing
Olesya Prokopenko.FlexBox. Future of the slicingOlesya Prokopenko.FlexBox. Future of the slicing
Olesya Prokopenko.FlexBox. Future of the slicing
 
Chingis Sandanov. Container virtualization
Chingis Sandanov. Container virtualizationChingis Sandanov. Container virtualization
Chingis Sandanov. Container virtualization
 
Alexander Taranov. Right slicing for drupal = painless teming
Alexander Taranov. Right slicing for drupal = painless temingAlexander Taranov. Right slicing for drupal = painless teming
Alexander Taranov. Right slicing for drupal = painless teming
 

Artem Zigar. Development Tools. Readability of a code