Как стать автором
Обновить
73
0
Дмитрий @depp

Пользователь

Отправить сообщение

Практика хорошего кода

Время на прочтение8 мин
Количество просмотров67K
imageЗа годы присутствия на хабре я прочитал немало статей на тему того, как должен выглядеть идеальный код. И поменьше статьей о том, как конкретно достигать этого идеала. Также стоит отметить, что весьма значительная часть всех этих материалов была переводом западных источников, что, вероятно, является следствием более зрелой отрасли IT «за рубежом», со всеми вытекающими вопросами и проблемами.

К сожалению, во многих случаях авторы либо забираются в недосягаемые выси многослойных архитектур, что требуется в лучшем случае для 1% проектов, либо ограничиваются общими фразами вроде «код должен быть понятен» или «используйте ООП и паттерны», не опускаясь до подробных объяснений, в чем например измеряется «понятность» кода.

В этой статье я хочу попытаться систематизировать те критерии оценки качества кода, и те практики его написания, которые мне удавалось применять в реальных проектах практически независимо от их размеров и специфики, используемого языка программирования и других факторов.
Читать дальше →
Всего голосов 50: ↑37 и ↓13+24
Комментарии76

Сказ о том, как робот башни собирал

Время на прочтение7 мин
Количество просмотров2.7K


Сразу оговорюсь, что под «башнями» в заголовке поста подразумевается игра-головоломка «Саровские башни», расположенная на сайте bashni.org, о существовании которой я узнал из хабрапоста Как построить башню.

Если вам знакомы эта игра и этот сайт, то лишних пояснений не потребуется, если нет — можете пробежаться по обоим ссылками, чтобы понять о чем речь.

Ну или можно просто почитать о том, как одному ленивому программисту захотелось автоматизировать процесс решения головоломки, над раскладами которой порой часами бились люди с зашкаливающим IQ, и что из всего этого вышло.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии17

Нужны ли «приватные» свойства объектов в Javascript?

Время на прочтение4 мин
Количество просмотров4.7K
В последнее время во многих статьях (на Хабре и не только) я часто вижу примеры эмуляции приватных свойств объектов в JS через замыкания. Авторы обычно объясняют это своим желанием использовать такой механизм ООП, как инкапсуляция, и тем самым гарантировать работу с объектом исключительно посредством его методов, не затрагивая напрямую свойства.

В этой статье я предлагаю объективно рассмотреть достоинства и недостатки такого подхода, чтобы каждый мог для себя решить, стоит ли его использовать или нет.

Читать дальше →
Всего голосов 40: ↑35 и ↓5+30
Комментарии193

Производительность простых и сложных конструкций в JavaScript

Время на прочтение7 мин
Количество просмотров24K
Периодически натыкаясь на статьи, посвященные оптимизации кода на JS (вот одна из популярных) я ловил себя на мысли, что информации в них катастрофически мало. Перечислены 2-3 конструкции, 1-2 браузера и все на этом.

Как говорится, если хочешь сделать что-то хорошо, сделай это сам.
Я решил протестировать, в первую очередь для себя, скорость работы различных языковых конструкций (начиная с самых базовых) в основных современных браузерах и на основе этого сделать выводы о том, что и как использовать в скриптах, требовательных к производительности.

Ну и раз уж результаты получены, почему бы не выложить их для всеобщего пользования?

Upd: добавил графики результатов, предоставленные хабраюзером deerua (для тех, кто воспринимает визуальную подачу информации лучше чем табличную)
читаем дальше
Всего голосов 51: ↑48 и ↓3+45
Комментарии60

Работа с объектами в JavaScript: теория и практика

Время на прочтение15 мин
Количество просмотров218K
В этой статье я хочу по возможности полно и последовательно рассказать о том, что такое объект в JavaScript, каковы его возможности, какие взаимоотношения могут строиться между объектами и какие способы «родного» наследования из этого вытекают, как это все влияет на производительность и что вообще со всем этим делать :)

В статье НЕ будет ни слова про: эмуляцию традиционной класс-объектной парадигмы, синтаксический сахар, обертки и фреймворки.

Сложность материала будет нарастать от начала к концу статьи, так что для профи первые части могут показаться скучными и банальными, но дальше будет намного интереснее :)

если не боимся многабуков, то читаем дальше
Всего голосов 104: ↑103 и ↓1+102
Комментарии216

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность