.
Мой новый гайд "БАЗА Software Design: Programming in Large" доступен на бусти.
Цена 2,400 рублей, завтра будет дороже.
16 материалов, чистого текста 160 тыс. знаков =>
7 неочевидных проектных ошибок
Один из лучших методологических подходов, прекрасно работающий во многих инженерных областях, и в частности, в программировании – это "не позволять разработчику делать то, что запрещено, и запрещать исходно по возможности вообще всё".
5 советов по повышению качества проектирования программных систем
Как повысить качество проектирования?
В ответ на такой вопрос обычно даются шаблонные советы, например:
"Больше работай над практическими проектами".
"Найди хороший проект с открытым кодом и изучай его код."
"Попроси коллегу, чтобы он провел code review".
Если читать между строк, то все это сведётся к "я не знаю".
Как проектировать программы in small (два научных подхода)
Хорошие идеи для возможного дизайна можно найти, внимательно изучив структуру входных данных...
4 универсальных принципа проектирования API
В своей знаменитой книге "Как стать хакером" Эрик Рэйнмонд заявил: "ни одна проблема не должна решаться дважды"...
Страшное слово в ваших спецификациях
Ответы на вопросы проектирования нужно искать не в коде, а в спецификациях.
Как справляться с краевыми случаями
Частные/исключительные/граничные случаи -- это большая боль программирования. Когда вы пишете код, вам надо на одном уровне, внутри одной функции, реализовать не только основной алгоритм, но и учесть немало краевых случаев...
Как найти смысл данных в вашем проекте
Это фундаментальная концепция в программировании: у всех изменяемых сущностей имеется своя идентичность (в смысле "самобыстности", личной уникальности). А у иммутабельных -- нет.
Как правильно думать над моделью данных в проекте
Основополагающий принцип -- делать нелегальные состояния непредставимыми...
О вреде форматов сериализации
Для того, чтобы некоторую пользовательскую информацию можно было технически скрывать, очевидно, она должна быть в проекте формально описанной, чтобы существовали ясные способы что-то с ней делать...
Как правильно проектировать систему в парадигме состояний
Что такое состояние? Это прежде всего описание того, как обстоят дела в данный момент.
Важный инсайт про раздутость кода
Раздутость -- это когда в системе копится множество конкурирующих "фич", и вы не можете работать над одной конкретной функциональностью, если не будете при этом дополнительно заботиться о куче других "фич"...
Как готовить сверхгибкий код
Моделирование предметной области (домена), превращение мира в чистые красивые структуры данных выглядит увлекательным занятием. Однако вам быстро становится совсем не так весело, когда реальный мир даёт контрпример...
Как писать код для веб-фреймворков, который работает в 100 раз быстрее
ORM -- это такая кривейшая приляпка, реализованная однако практически в каждом популярном веб-фреймворке...
Что делает тест хорошим
Есть прекрасная теория тестирования, которая объясняет, что делают тесты, что должно и что не должно проверяться при тестировании. Увы, это удивительно, но эта теория практически не была представлена в общедоступном виде для массовых разработчиков...
Формализуем многослойную (многоуровневую) архитектуру
Я сейчас дам вам достаточно простую формальную модель слоистой архитектуры, которая представляет её весьма наглядно, и при этом может масштабироваться до огромных размеров.
Формализуем понятие надёжности системы
Попросту говоря, мы хотим создавать системы, которые гарантированно будут правильно функционировать при наличии сбоев, перегрузок и т. п.
"БАЗА Software Design: Programming in Large", цена 2,400 рублей, через 24 часа вырастет.
Post #2075
830

- ❤ 39
- ❤🔥 9
- ⚡ 5
- 🏆 3
- 😎 2