якщо я вмикаю попередження та повідомлення на цих веб-сайтах, що живуть, вони будуть перевантажені ними.
У вас завжди повинні бути включені попередження на найвищому рівні в розробці, тестуванні та якості, але не у виробництві. Насправді, якщо це додаток для собачого кодування, тобто додаток, який ви використовуєте самостійно, тоді ви також повинні мати їх увімкнутими у виробництві.
В основному: увімкніть їх у тих випадках, коли людина, яка їх бачить, може щось зробити з ними (розробник у розробці та тестуванні може їх виправити самостійно, тестувач в QA може подати помилку, і якщо розробник також користувач, тоді він також може виправити це у виробництві), але не вмикайте їх, коли людина, яка бачить, не може нічого з цим зробити (користувач у виробництві, який навіть не вміє програмувати).
В ідеалі ви також хочете ввімкнути трактування попереджень як помилок, але це працює лише в тому випадку, якщо з них нічого не буде ;-) Але майте це на увазі як мета! Якщо можливо ввімкнути / вимкнути це на кожному файлі, увімкніть його для всіх нових файлів і ввімкніть його для всіх файлів, не містять попереджень, і ніколи не вимикайте його знову, як тільки він увімкнено.
Отже, що робити з перевантаженням?
Ви складаєте список кожного попередження та повідомлення та дотримуєтесь наступних правил:
- Ніколи, ніколи, ні за яких обставин не додайте до списку нове попередження. Кожен новий фрагмент коду, кожне редагування, кожна зміна, кожен виправлення, кожен випуск не повинні вводити нові попередження, вони можуть лише коли-небудь виправляти їх.
- Щоразу, коли ви торкаєтеся фрагмента коду, виправляйте будь-які попередження у цьому фрагменті коду. (Правило Boyscout: завжди залишайте кемпінг у кращому стані, ніж ви знайшли.) Таким чином, неважливий код може залишатися повним попереджень, але важливий код з часом стає чистішим. "Шматок коду" може бути функцією, класом, файлом. Ви можете також послабити це правило, щоб сказати, щоб виправити хоча б одне попередження. Сенс у цьому: виправити їх, як ви їх знайдете.
Примітка: для обох цих вимог потрібно мати певну базу даних журналів та механізм фільтрації журналів. Зауважимо також, що "база даних журналів" і "механізм фільтрації журналів" можуть бути просто текстовим файлом і grep
.
Це важливий біт. Без бази даних ви не дізнаєтесь, коли додасте нове попередження, а без фільтрування у вас все ще буде проблема з перевантаженням.
Примітка №2: це не працює лише для попереджень, але також працює для перевірки стилів, метрики складності, покриття коду, інструментів статичного аналізу тощо. В основному:
- Не додайте нових проблем.
- Виправте старі проблеми, натрапляючи на них.
Це дозволяє легко встановити пріоритети: код, який редагується часто, і, таким чином, його потрібно легко читати та підтримувати, з часом стане кращим. Код, який не чіпають часто, не покращиться, але це нормально, тому що ні в якому разі не потрібно на це дивитися. І , принаймні, не стане гірше.
Звичайно, ніщо не заважає тобі виділяти час спеціально для того, щоб нічого не робити, крім полювання та вбивства попереджень. Це дуже часто, це не є економічно вигідним, і це потрібно враховувати як інженер. "Інженер - це той, хто може скласти долар, те, що кожен дурень може побудувати з двома".
@
.