2. Пишите просто. Сложно всегда успеете; 3. Легко усложнить, сложно упростить; 4. Стремитесь разорвать код на независимые куски; 5. Относитесь к другим так, как хотите, чтобы относились к вам; 6. Пишите ясные и понятные тесты
сужается; 2. Мы можем держать только небольшой кусок контекста в голове; 3. Чем сильнее отдельный кусок связан (coupled) с другими кусочками, тем сложнее восстановить в голове нужный контекст; 4. Для любого нового человека в команде ваш прекрасно написанный проект выглядит комком плохо продуманных зависимостей.
писать реализации; 2. Идеи из FP: иммутабельность и чистота; 3. Unix — платформа, а не просто способ пускать программы; 4. Рвите монолиты на отдельные программы; 5. Минимизируйте зависимости; 6. Сопротивляйтесь изменениям 7. Однопоточность > threads > processes > async > distributed;
библиотеки, использование которых стоит убитого вечера и нервов; 3. Используйте проверенные библиотеки; 4. Не надейтесь, что кто-то починит вам баг; 5. Не верьте бенчмаркам; 6. Лучше изобретите маленький велосипед, тащите библиотеку от безысходности.
ли; 3. Юниттесты — трассировка контекста, программное закрепление дампа из головы; 4. Покрывайте код максимальным количеством простых тестов: так лучше восстанавливается контекст.