Найти в Дзене
Roman Pankov Tech

SOSAL — подход к программированию

В программировании есть куча крутых принципов: Unix-way про то, как договариваться, Agile — про гибкость, DRY и KISS — про чистый и понятный код. Все они классные, но в основном заточены под работу в одиночку. А ведь сейчас почти все проекты — это про команду. И тут на сцену выходит SOSAL — современный, социальный подход к разработке. Чего только люди не придумают конечно 😀 Это про то, как писать код так, чтобы с ним было удобно работать не только тебе, но и твоим коллегам — разным, с разным опытом и стилем. Чтобы всем было комфортно, понятно и приятно работать вместе. В SOSAL — пять главных принципов. 1. Socially-Conscious Code (Социально-осознанный код) Главная ценность командной работы — кооперация. Чтобы кодовая база была дружелюбной, важно не только знать язык программирования, но и придерживаться его стиля, писать чисто и использовать идиоматичные решения. Это облегчает вхождение новых участников в проект и ускоряет совместную работу. 2. Open by Default (Открытость по умолчанию

В программировании есть куча крутых принципов: Unix-way про то, как договариваться, Agile — про гибкость, DRY и KISS — про чистый и понятный код. Все они классные, но в основном заточены под работу в одиночку.

А ведь сейчас почти все проекты — это про команду. И тут на сцену выходит SOSAL — современный, социальный подход к разработке. Чего только люди не придумают конечно 😀

Это про то, как писать код так, чтобы с ним было удобно работать не только тебе, но и твоим коллегам — разным, с разным опытом и стилем. Чтобы всем было комфортно, понятно и приятно работать вместе.

В SOSAL — пять главных принципов.

1. Socially-Conscious Code (Социально-осознанный код)

Главная ценность командной работы — кооперация. Чтобы кодовая база была дружелюбной, важно не только знать язык программирования, но и придерживаться его стиля, писать чисто и использовать идиоматичные решения. Это облегчает вхождение новых участников в проект и ускоряет совместную работу.

2. Open by Default (Открытость по умолчанию)

Код должен быть открыт, если нет веских причин для обратного. Комментируйте так, будто ваш код читает новичок. Если решение не очевидно или требует времени на понимание, обязательно оставьте комментарий.

3. Simple Scalability (Сбалансированная масштабируемость)

Пишите код, который легко масштабировать, но избегайте преждевременных оптимизаций. Простота не означает примитивность, а сложность — не признак качества.

«Преждевременная оптимизация — корень всех зол.»

4. Agile Adaptivity (Адаптивность выше догм)

Код должен быть готов к изменениям, даже если они кажутся маловероятными. Используйте гибкие решения, например, готовые библиотеки для конфигурации, чтобы облегчить будущие доработки. Балансируйте между принципом YAGNI и возможностью эволюции кода.

5. Learning-Driven Logic (Логика, основанная на обучении)

Пишите код так, чтобы он учил вас и других. Рефакторинг — это не наказание, а возможность применить новые знания. Экспериментируйте, но всегда оставляйте после себя чистый и понятный код.