- Невикористаний код - це більший простір пошуку як для перегляду, так і для всього іншого, що зазвичай сканує ваш код. Наприклад, компілятор, IDE, знайти у файлі, налагодження, статичний аналіз, більше для огляду, включення файлів, вихід з VCS тощо. Це сповільнює ці процеси та додає значного шуму.
- Невикористаний код не завжди є мертвим кодом. Він може страчуватися за певних обставин. Це може не тільки запропонувати вектор для помилок та проблем з продуктивністю, але також може бути проблемою для безпеки. Щодо продуктивності, це може виражати себе несподіваними способами, такими як більші завантаження.
- Невикористаний код запускає невикористаний код. Якщо ви видалите виклик функції, а потім знайдете використання цієї функції, щоб побачити, чи вона все ще потрібна, ви можете побачити відповідність попередньому невикористаному коду і припустити, що ви можете його зберегти. Чим більше невикористаного коду, тим більше хмелів можна визначити, чи не використовується код.
- Невикористаний код все ще часто закінчується необхідністю збереження. Скажімо, A і B залежать від C. З них B не використовується. Ви змінюєте C, а потім B wont компілюєте, оскільки ви видалили член із структури в C, для якої потрібен B, тепер вам доведеться виправити B або активно видалити його з компіляції. Ви повинні були просто її зняти.
Цей список може здатися простим, але кожен із них проявляється сотнями різних способів, додаючи перетягування, яке синергізує протягом усього процесу розробки. Ефективність часто може бути доведена або продемонстрована прямо і математично.
У відповідь на ваші пункти ...
- Кодекс вже написаний, і зусилля витрачаються
Але це часто потрібно підтримувати. Він також відображатиметься в таких речах, як пошук у файлі.
- Код може бути протестований на синтетичному та реальному середовищі
Я не впевнений, що ви маєте на увазі під цим. Я думаю, що це те саме, що і останній. Ви маєте на увазі, що код вже перевірений, і його очищення може означати, що його потрібно повторно перевірити. Це вартість, яка, як правило, того варта, оскільки вона окупиться 90% часу і уникає того, щоб її очистити перед виходом у виробництво. Майже весь код має дві ітерації, змушує його працювати, чистити його. Причина повинна бути перевірена двічі, тому що хтось пропустив останній крок. Якщо ви також кодуєте занадто дорого, щоб довести, прочитайте diff, тест (що це, швидше за все, якщо він безладний з великою кількістю невикористаного коду) тощо, то це ще одна ціла проблема.
- Якщо добре організовано (згруповано, окремий пакет, нещільно пов'язане тощо), це не заважає вам на загальний аналіз коду чи рефакторинг
Ваш код все одно повинен бути таким, але це лише помірно пом’якшує проблему. Це найдивніший аргумент почути, що щось слід організувати ще нечисто. Це нормально намагатися тримати код модульним і зменшувати залежності, але ви також хочете багаторазового використання коду, і якщо всі ваші модулі є острівними шансами, то ви вже не БУДЕТЕ. Ви також можете виявити, що ви робите надмірну розв'язку, що не робить нічого, однак зменшує проблему невикористаного безладного коду.
- Код може бути використаний у майбутньому
Дуже багато людей над значенням написаного коду. Якщо він не використовується зараз, він є дедвейтом, і насправді, коли ви йдете по цьому шляху, часто використовується лише частина невикористаного коду. За всією ймовірністю, невикористаний код, ймовірно, не може бути використаний або використаний код. Найімовірніше, що повторно використаний код - це вже використаний код, який щось робить.
Найгірше те, що невикористаний код не має мети. Коли хтось приходить разом і повинен змінити щось, що в кінцевому підсумку впливає на невикористаний код, він збирається тупитися, сидячи там, намагаючись зрозуміти, що цей невикористаний код не повинен робити.
Люди легко почуваються так, коли починають, оскільки код вимагає великих зусиль. Однак колись вільно і звик до цього, код стає схожим на їзду на велосипеді. Ви побачите, що вартість написання такого фрагмента коду зменшує витрати на його повстання.
- Після видалення автор може відчувати себе незручно
Це проблема автора. З одного боку, егоїстично залишати навколо себе безліч невикористаного коду, щоб з іншими мали справу. З іншого боку, якщо автор ставить свої почуття до якості коду, вони, ймовірно, не повинні кодувати. Ви йдете по дорозі з цим, ви не можете виправити їх код, коли він порушений, тому що це зашкодить їх почуттям. Це не гарний знак, якщо хтось прив’язаний до коду просто тому, що це їхній, а не тому, що це добре. Автор повинен відчувати себе щасливим, коли їхній код чиститься. Це схоже на те, що хтось виніс для вас сміття і кидає його у смітник.
Я був би над місяцем, якби хтось зробив це для мене. Що може полегшити подолання цих почуттів, а не чекати, коли хтось інший зробить це, спробуйте зробити це самостійно. Продовжуйте повторно переписувати фрагмент коду, який ви зробили, роблячи його краще, рухайтеся лаконічно, з меншим надмірністю та гнучкістю, але з меншим кодом кожен раз. Постарайтеся не відчувати себе добре з приводу кількості коду, але скільки ви можете досягти, хоча б мало коду. Це шліфування, щоб вирівняти рівень, і як тільки ви зробите, що весь ваш код вийде на хорошому рівні після цього, тому його не потрібно вирівнювати так часто.