И снова ходил в отпуск, и опять вернулся из него, с небольшим сообщением про парадигмы программирования.



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



Это будет не ООП, не ФП, и не другие П, ДДД и ТДД. Это будет контрактно-ориентированное программирование.

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

- все без исключения публичные функции и методы имеют неотключаемые в релизе проверки входных аргументов и выходных результатов

- все остальные функции и методы могут иметь отключаемые или неотключаемые в релизе проверки входных аргументов и возвращаемых значений

- любой код может иметь отключаемые в релизе проверки в середине логики.



Судя по количеству дефектов в джире, это реально работает, без регистрации и СМС. Часто отпадает даже необходимость в тестах и отладчике.