И снова ходил в отпуск, и опять вернулся из него, с небольшим сообщением про парадигмы программирования.
Если попытаться ответить на вопрос, какую из парадигм или идей (прочитанных, услышанных, изученных) я нахожу максимально полезной - не в теории, а на практике, то я ответил бы неожиданно.
Это будет не ООП, не ФП, и не другие П, ДДД и ТДД. Это будет контрактно-ориентированное программирование.
Положительный эффект от него заметен настолько явно, что в своей работе мы закрепили это даже в соглашениях о кодировании:
- все без исключения публичные функции и методы имеют неотключаемые в релизе проверки входных аргументов и выходных результатов
- все остальные функции и методы могут иметь отключаемые или неотключаемые в релизе проверки входных аргументов и возвращаемых значений
- любой код может иметь отключаемые в релизе проверки в середине логики.
Судя по количеству дефектов в джире, это реально работает, без регистрации и СМС. Часто отпадает даже необходимость в тестах и отладчике.
Если попытаться ответить на вопрос, какую из парадигм или идей (прочитанных, услышанных, изученных) я нахожу максимально полезной - не в теории, а на практике, то я ответил бы неожиданно.
Это будет не ООП, не ФП, и не другие П, ДДД и ТДД. Это будет контрактно-ориентированное программирование.
Положительный эффект от него заметен настолько явно, что в своей работе мы закрепили это даже в соглашениях о кодировании:
- все без исключения публичные функции и методы имеют неотключаемые в релизе проверки входных аргументов и выходных результатов
- все остальные функции и методы могут иметь отключаемые или неотключаемые в релизе проверки входных аргументов и возвращаемых значений
- любой код может иметь отключаемые в релизе проверки в середине логики.
Судя по количеству дефектов в джире, это реально работает, без регистрации и СМС. Часто отпадает даже необходимость в тестах и отладчике.