Я щойно приєднався до (відносно) невеликої команди розвитку, яка працювала над проектом кілька місяців, якщо не рік. Як і більшість розробників, що приєдналися до проекту, я провів свої перші кілька днів, переглядаючи кодову базу проекту.
Проект (внутрішня лінія бізнес-додатків середнього та великого розміру ASP.NET WebForms), через відсутність більш описового терміна, - катастрофа. Існує три негайно помітні проблеми зі стандартами кодування:
- Стандарт дуже вільний. Він описує більше того , що не робити (не використовуйте угорську нотацію, і т.д ..) , ніж те , щоб зробити.
- Стандарт не завжди дотримується. Всюди є невідповідності форматування коду .
- Стандарт не відповідає вказівкам щодо стилів Microsoft. На мою думку, немає значення, відхиляючись від вказівок, викладених розробником фреймворку та найбільшим учасником мовної специфікації.
Щодо пункту 3, можливо, це мене більше турбує, тому що я взяв час, щоб отримати свій MCPD з акцентом на веб-додатки (зокрема, ASP.NET). Я також єдиний сертифікований професіонал Microsoft у своїй команді. Через те, що я навчився в усьому моєму навчанні, самонавчанні та навчанні на роботі (включаючи мою підготовку до іспитів на сертифікацію), я також помітив декілька примірників у коді проекту, коли речі просто не робляться в Кращий спосіб.
Я був у цій команді лише тиждень, але я бачу так багато проблем з їх кодовою базою, що, думаю, я витрачу більше часу на боротьбу з тим, що вже написано, щоб робити речі «по-своєму», ніж якби я був працюючи над проектом, який, наприклад, дотримувався більш широко прийнятих стандартів кодування, моделей архітектури та кращих практик. Це підводить мене до мого питання:
Чи повинен я (і якщо так, то як я) запропонувати керівнику проекту та команді вести, що проект потребує капітального оновлення?
Я не хочу ходити в їхній офіс, махаючи своїми сертифікатами MCTS та MCPD, кажучи, що кодова база їхнього проекту є лайно. Але мені також не хочеться мовчати і писати код kludgey на свій код kludgey, тому що я насправді хочу написати якісне програмне забезпечення, і я хочу, щоб кінцевий продукт був стабільним і легко ремонтом.