>Не вижу разницы между тем, что передавать - строку или константу с именем строки. Но сколько вы смогли высосать из этой детали - впечатляет.
Разница настолько большая, что прямо даже в два слова сложно объяснить. Напишу об этом на досуге отдельный пост. Грубо говоря, ключевое качество хорошего кода заключается в том, что человек может легко убедиться в правильности этого кода при его прочтении с минимальным для себя усилием, зная что этот код успешно проходит этап компиляции.
>То есть вас всё устраивало и проблем не было, но вы от этого простого решения ушли, руководствуясь просто абстрактным принципом?
Не было бы пробем не уходил бы. Какак я уже сказал, класс-конфигурация отлично для меня работает в монолитных приложниях, и, конечно, ничто не мешает каждому модулю иметь свой собственный класс-конфигурацию. Но когда модулей становится всё больше и больше, а параметров конфигурации не очень много по отношению к объему кода и они (параметры) размазаны тониким слоем по коду так, что редко получается более одного параметра на модуль, то практичней и удобеней становится подход с первоклассным ключом.
Это банально позволяет сэкономить в объеме кода (воздержимся пока от применения более субъективных метрик кода). Какждый экземпляр первоклассного ключа в модуле это одна строка, а его чтения или запись внутри модуля концептуально не тяжелей чтения/записи поля в классе конфигурации: MODE.get(props) вместо config.getMode().
Не будут ни в чем убеждать. Для меня возможность думать, что я убедился в правильности кода, вполне достаточна. Зачем именно она мне нужна - раскажу отдельно.
>Не вижу разницы между тем, что передавать - строку или константу с именем строки. Но сколько вы смогли высосать из этой детали - впечатляет.
Разница настолько большая, что прямо даже в два слова сложно объяснить. Напишу об этом на досуге отдельный пост. Грубо говоря, ключевое качество хорошего кода заключается в том, что человек может легко убедиться в правильности этого кода при его прочтении с минимальным для себя усилием, зная что этот код успешно проходит этап компиляции.
>То есть вас всё устраивало и проблем не было, но вы от этого простого решения ушли, руководствуясь просто абстрактным принципом?
Не было бы пробем не уходил бы. Какак я уже сказал, класс-конфигурация отлично для меня работает в монолитных приложниях, и, конечно, ничто не мешает каждому модулю иметь свой собственный класс-конфигурацию. Но когда модулей становится всё больше и больше, а параметров конфигурации не очень много по отношению к объему кода и они (параметры) размазаны тониким слоем по коду так, что редко получается более одного параметра на модуль, то практичней и удобеней становится подход с первоклассным ключом.
Это банально позволяет сэкономить в объеме кода (воздержимся пока от применения более субъективных метрик кода). Какждый экземпляр первоклассного ключа в модуле это одна строка, а его чтения или запись внутри модуля концептуально не тяжелей чтения/записи поля в классе конфигурации: MODE.get(props) вместо config.getMode().
Reply
Увы, убедиться он не может, но думать, что убедился - да. Мне не нужно объяснять разницу - было время, я тоже думал как вы, и все аргументы знаю.
Reply
Reply
Leave a comment