2018-11-19 Вредный Хардкод

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
правила_разработки:как_не_надо_делать:2018-11-19_вредный_хардкод [19.11.2018 08:30]
nikolay_carbonsoft1
правила_разработки:как_не_надо_делать:2018-11-19_вредный_хардкод [20.05.2019 15:18] (текущий)
Строка 7: Строка 7:
 Что приводит к трудностям при развертывании этого кода на тестовом стенде с другим адресом. И даже хуже: можно ходить по тестовой crm и случайно попасть на продакшен и даже не заметить этого! Что приводит к трудностям при развертывании этого кода на тестовом стенде с другим адресом. И даже хуже: можно ходить по тестовой crm и случайно попасть на продакшен и даже не заметить этого!
  
-Как нужно:+**Как нужно:**
 <code html> <code html>
 <a href='/​crm/​carbon/​report1.php'>​Подробный отчет о клиентах</​a><​br/>​ <a href='/​crm/​carbon/​report1.php'>​Подробный отчет о клиентах</​a><​br/>​
Строка 19: Строка 19:
 Будьте осторожны! Не переусердствуйте с файлами конфигурации! Будьте осторожны! Не переусердствуйте с файлами конфигурации!
  
-Следуя этому правилу,​ можно начать выносить в кофиги все: адреса внешних ресурсов,​ адрес локального интерфейса,​ порты, название продукта и.т.д. Это приведет к разрастанию файла конфигурации опциями,​ которые никогда не будут изменяться (или будут изменяться раз в несколько лет - а это дешевле будет сделать sed'​ом) и повышением сложности и ухудшением читаемости кода! Соблюдайте баланс!+Следуя этому правилу,​ можно начать выносить в кофиги все: адреса внешних ресурсов,​ адрес локального интерфейса,​ порты ​на котором работает web-интерфейс, название продукта и.т.д. Это приведет к разрастанию файла конфигурации опциями,​ которые никогда не будут изменяться (или будут изменяться раз в несколько лет - а это дешевле будет сделать sed'​ом) и повышением сложности и ухудшением читаемости кода! Соблюдайте баланс!
  
 Упрощенное правило:​ лучше не создавать хардкод,​ если можно этого не делать (как в примере с html ссылками). Но если без конфига не обойтись - делайте опцию в конфиге только если ее придется часто изменять и это потребуется в ближайшую неделю (если это потребуется "​когда-то позже"​ - возможно,​ это не потребуется никогда). Упрощенное правило:​ лучше не создавать хардкод,​ если можно этого не делать (как в примере с html ссылками). Но если без конфига не обойтись - делайте опцию в конфиге только если ее придется часто изменять и это потребуется в ближайшую неделю (если это потребуется "​когда-то позже"​ - возможно,​ это не потребуется никогда).