в программировании есть встроенное противоречие между энкапсуляцией (не в ООП смысле а в более широком) и систематизацией. классический пример - magic numbers. если у тебя какое-то значение встречается ОДИН раз в коде, и предсказуемо где, и не нужно его искать - оно должно быть там где используется а не в каком-то конст модуле или конфигурационном неймспейсе. то есть если тебе захочется его кастомайзить, то другое дело, а если нет то и пофиг. ну соответственно есть две крайности - говнокод стайл, где всё вперемежку, и айвори тауэр стайл, где всё по полочкам, на каждый чих и пук есть свой класс и свой модуль... и въезжание и каждое новое добавление требует очень много времени, потому что всё в разных местах.