Будь-яка пряма відповідь буде крайньою. Зрозуміло, що є випадки, коли термін настільки жорсткий, що ви повинні використовувати некрасивий код, а є випадки, коли код настільки потворний, що варто впустити термін, щоб його покращити. Вам потрібні методи, щоб оцінити, в якому ви перебуваєте, і, можливо, методи встановити реалістичні терміни, які дозволять час написати кращий код.
Не зберігайте очищення на потім. Якщо у вас зазвичай не існують періоди, в яких не залишається нічого, крім рефактора, немає жодного "пізніше", в якому якимось чином стане вищим пріоритетом прибирати код, ніж зараз. Рутина - "червоний, зелений, рефактор", а не "червоний, зелений, робіть щось зовсім інше протягом двох тижнів, рефактор". Реально ви не будете змінювати код до наступного разу, коли ви переглянете його з якоїсь іншої причини, і ви, ймовірно, будете також на терміні. Ваші реальні варіанти - виправити це зараз або залишити його.
Звичайно, добре стилізований код краще, ніж погано стилізований код, припускаючи, що ви плануєте його коли-небудь прочитати ще раз. Якщо ви плануєте ніколи не читати його знову, тоді не прибирайте його . Відправте перше, що пройде тести. Але це досить рідкісний сценарій, для більшості програмістів це трапляється приблизно ніколи. Ігноруючи цей випадок, ви лише маєте деталі своєї справжньої справи, щоб зробити судження, скільки коштує виправити порівняно з тим, скільки це коштує (при збільшенні майбутнього обслуговування), щоб не виправити його.
Є певні речі, які не важче виправити в тій точці, де код вимагає технічного обслуговування, ніж зараз їх потрібно виправити. Це насправді не дуже корисно для вас. Найбільш очевидні виправдання (помилки білого простору тощо), тому важко уявити, що у вас є час задати це питання, але не виправляти їх ;-) Для тих, які не тривіальні та мають подібний вигляд, тоді добре , у вас є код, який не ідеальний, але ви повинні бути прагматичними. Це працює, і ти на крайній термін. Використай це.
Є певні речі, які виправити зараз значно простіше, ніж вони будуть пізніше, коли (а) вони не такі свіжі у свідомості кожного; (b) написано інші речі, які покладаються на них або імітують їх. Це набагато цінніше виправити зараз, тому надайте їм пріоритет. Якщо ви не маєте часу у свої терміни, щоб виправити це, тоді вам потрібно наполегливо наштовхнутись на більш тривалі строки, оскільки ви нарощуєте борг у кодовій базі, який, ймовірно, доведеться сплатити наступного разу, коли ви відвідуєте кодекс.
Кращий спосіб фіксації коду - через процес перегляду. Прокоментуйте проблеми, які у вас є, і надішліть її молодшому, щоб змінитись . Ви можете навести приклади того, що ви маєте на увазі, і залишити молодшого, щоб знайти всі справи в коді, до якого вони застосовуються, але не просто закінчуйте свій код для них. Якщо ви це зробите, тоді ви не даєте їм коштів покращитись.
Ви повинні записати загальні проблеми у посібник зі стилів, який говорить "не робіть цього, зробіть це замість цього" та пояснює чому. Зрештою, причина дозволена в тому, щоб "зробити наш код естетично послідовним", але якщо ви не готові записувати свої правила з деяким обгрунтуванням, ви, ймовірно, також не повинні їх застосовувати. Просто залиште кожного програміста вільним на вибір.
Нарешті, остерігайтеся тенденції до виправлення речей нескінченно. Повернення зменшуються, і вам потрібно вивчити досвід, де вони ще хороші. Абсолютно важливо, щоб ви сформували реалістичне уявлення про те, що є достатньо хорошим, інакше ви не можете вести переговори, в яких переконайтесь, що ваші терміни дають вам час створити "досить хороший" код. Витратьте свій час на речі, які недостатньо добре.