Я працюю на досить великій базі коду. Сотні занять, тони різних файлів, велика кількість функціональних можливостей займає більше 15 хвилин, щоб витягнути свіжу копію тощо.
Великою проблемою настільки великої бази коду є те, що у неї є досить багато корисних методів і таких, які роблять те саме, або є код, який не використовує ці корисні методи, коли це міг. А також корисні методи - це не просто все в одному класі (тому що це було б велике безладдя).
Я досить новачок у кодовій базі, але, мабуть, у керівника команди, який працює над нею роки, є однакова проблема. Це призводить до безлічі дублювання коду та роботи, і як таке, коли щось ламається, воно зазвичай розбивається на 4 копії, в основному одного і того ж коду
Як ми можемо приборкати цей візерунок? Як і у більшості великих проектів, не всі коди задокументовані (хоча деякі є), і не весь код є ... ну, чистим. Але в основному було б дуже приємно, якби ми могли працювати над покращенням якості в цьому відношенні, щоб у майбутньому ми мали меншу дублювання коду, а такі речі, як корисні функції, було легше відкрити.
Також функції утиліти зазвичай є або в якомусь статичному класі помічників, в якомусь нестатичному класі помічників, який працює над одним об'єктом, або є статичним методом для класу, з яким він в основному "допомагає".
У мене був один експеримент із додаванням функцій корисності як методів розширення (мені не потрібні були внутрішні класи класу, і це, безумовно, потрібно було лише у дуже конкретних сценаріях). Це призвело до запобігання захаращуванню первинного класу і подібного, але це насправді вже не можна виявити, якщо ви вже не знаєте про це