Публикации по теме 'clean-code'


Пять универсальных концепций, которые должен знать каждый разработчик JavaScript.
JavaScript прошел долгий путь. С момента его выпуска более 20 лет назад он продолжает расти, добавляя несколько характеристик, функций, которые помогают мастерам программного обеспечения создавать лучшие изделия. К сожалению, современные мастера JavaScript идут в неправильном направлении в своей карьере. Вместо того, чтобы сначала овладеть основами JavaScript Craftsmanship, они всего лишь пытаются изучить новые модные JavaScript-фреймворки. В этой статье я поделюсь пятью концепциями,..

Три я значимых имен: информация, идентичность и учреждение
Создание осмысленных имен для переменных, функций и классов не заставит вашу программу работать быстрее. Преимущества предназначены исключительно для других разработчиков и вашего будущего, чтобы они лучше и быстрее понимали написанный вами код. Это облегчает обзор кода и последующие дополнения. В идеале наша цель - написать код, который читался бы как книга, а не как математическая или логическая головоломка. Частично это связано с написанием хорошо продуманных имен, которые быстро..

Код Запаха 67 - Средний Человек
Давайте нарушим закон Деметры. Проблемы Ненужное косвенное обращение Пустые классы Читаемость Решения 1. Удалите Среднего человека. Образец кода Неправильный Правильно Обнаружение Так же, как и его противоположный запах , мы можем обнаружить это маленькое существо с помощью деревьев синтаксического анализа. Теги Связь Декларативная Читаемость Вывод Это полная противоположность цепочке сообщений . Делаем цепочку сообщений явной. связи..

Часть 1 Шаблоны проектирования программного обеспечения Gang of Four (GOF)
Банда четырех шаблонов проектирования Пример кода: https://github.com/nitinmuteja/GOFDesignPatterns/ Шаблоны проектирования: элементы повторно используемого объектно-ориентированного программного обеспечения (1994), написанная Эрихом Гаммой, Ричардом Хелмом, Ральфом Джонсоном и Джоном Влиссайдсом, представляет собой книгу по разработке программного обеспечения, в которой освещаются возможности и ловушки объектно-ориентированного программирования. Они перечислили 23 классических..

Переменная посмотрела на меня и сказала: «Назови мое имя!»
В то время как я изучал основы программирования в старшей школе, меня учили, как решать проблемы: сортировать массив, переворачивать строку, преобразовывать римские цифры в арабские и т. Д. От меня никогда не ожидалось написать код, который будет изменен или проверено другим человеком. Обычно этого было достаточно, чтобы код работал и возвращал правильный вывод для заданного ввода. Несколько лет спустя начались мои университетские дни. Я изучал математику и CS, и на моем первом..

Код запаха 95 - преждевременная классификация
Мы закончили генерализаторы. Мы не должны создавать абстракции, пока не увидим достаточно конкреций. TL; DR: Не угадайте, что принесет вам будущее. Контекст Аристотелевская классификация - большая проблема в информатике. Мы склонны классифицировать и давать названия вещам до того, как соберем достаточно знаний и контекста. Проблемы Футурология Плохой дизайн Решения Дождитесь конкрементов Поздний рефакторинг Образец кода Неправильный Правильно..

TypeScript : использование расширенных типов для выразительного кода
В этом посте я собираюсь объяснить, как расширенные типы, такие как Record, Union Types и Variadic Tuple Types, помогают вам писать выразительный и читаемый код. Пост основан на Дне 12 AdventOfCode . Если вы не знаете об этом удивительном адвент-календаре с небольшими программными головоломками, проверьте. Прежде чем продолжить, прочтите Описание головоломки 12-го дня . Проверьте мое полное решение здесь . Мой подход к этим головоломкам следующий Будьте выразительны с типами..