Публикации по теме 'software-design'


Модульность в дизайне
Одним из основных аспектов программирования также является модульность. Чтобы убедиться, что код не сложный, простой для понимания, код можно тестировать, все это зависит от того, насколько ваш код модульный. Просто для обсуждения, если мы подумаем, зачем нам нужно делать модульный код, писать так много разных методов и организовывать их, в качестве аналогии, просто подумайте о своих гардеробах. Если вы сложите всю свою одежду в одну большую коробку, что произойдет? Пара проблем, с..

Уроки системного проектирования от LISP
Уроки системного проектирования от LISP В 1958 году, будучи доцентом коммуникационных наук в Массачусетском технологическом институте, Джон Маккарти определил язык программирования LISP. Это второй старейший язык, который все еще используется (FORTRAN старше на один год), выживший, среди прочего, как Clojure, Scheme, Common Lisp и Emacs Lisp. Одна из ключевых идей LISP заключается в том, что все является списком, и что список может содержать другие списки. На самом деле LISP..

Код как дизайн
В 1992 году Джек Ривз опубликовал эссе Что такое дизайн программного обеспечения? в C ++ Journal. Его основная посылка: этот окончательный исходный код и есть реальный дизайн программного обеспечения . Он продолжает объяснять… «Конечная цель любой инженерной деятельности - это какой-то вид документации. Когда проектные работы завершены, проектная документация передается производственной бригаде. Это совершенно другая группа с совершенно другими навыками, нежели команда..

fp-ts в действии🚀
👊 Первый пост за 2021 год! Недавно я решил использовать fp-ts lib в стороннем проекте. Что такое F p-ts ? Это библиотека, которая предоставляет абстракции типизированных функциональных языков, что упрощает применение функциональных шаблонов при разработке на TypeScript. Моя мотивация к переходу на FP-TS заключалась в следующем: Я был очарован такими языками, как Haskell и Rust, и хотел использовать в коде некоторые знакомые ADT (Option / Maybe, Just / Some, Either /..

3 урока, которые я извлек из разработки многопользовательской карточной игры
Несколько месяцев назад я разработал карточную игру для 4 игроков под названием «Оценка». На выполнение этого проекта у меня ушло около 2 месяцев, и я узнал кое-что, чем хотел бы поделиться. Обзор Оценка - это игра с уловками, очень похожая на такие игры, как Euchre и Hearts. Самое интересное в том, что вы должны угадать, сколько трюков, по вашему мнению, вы можете выиграть, до начала игры, и вы должны точно поразить цель. Если интересно, вы можете прочитать правила здесь ...

Code Smell 36 - операторы Switch / case / elseif / else / if
Первый урок программирования: Управляющие структуры. Урок для старших разработчиков: избегайте их. Проблемы: Слишком много решений вместе Связь Дублированный код Нарушение принципа открытости / закрытости . Новое условие не должно изменять основной алгоритм. Нули Решения Полиморфизм Создавайте иерархии / составляйте объекты, следуя принципу открытого закрытия . Используйте Паттерн состояний для моделирования переходов. Используйте Шаблон стратегии / Объект..

Руководства по стилю: Hapi Vs. Airbnb
Этот пост был навеян написанием мною другого поста, который вы можете прочитать здесь . На этом я говорю о соглашениях о регистре букв в именах импортированных модулей NodeJS. Не самое запоминающееся из названий, но если это вас интересует, посмотрите. Я был строгим приверженцем Руководства по стилю JavaScript Airbnb больше года. В предыдущей компании, в которой я работал, нам нужно было руководство по стилю, которое имело смысл, было интуитивно понятным и упрощало чтение нашего кода...