Публикации по теме '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-го дня . Проверьте мое полное решение здесь .
Мой подход к этим головоломкам следующий
Будьте выразительны с типами..