Mój szef obecnie próbuje zastosować pewne standardy programistyczne w naszym zespole, więc wczoraj spotkaliśmy się, by omówić standardy, które były w większości dobre, dopóki nie poruszyła:
- Wszystkie tabele DB będą miały kolumnę CreatedDate i LastUpdatedDate, zaktualizowaną przez wyzwalacze.
W tym momencie nasz zespół doznał schizmy opinii; połowa z nas uważa, że robienie tego na wszystkich stołach wymaga dużej ilości pracy, przynosząc niewielkie korzyści (pracujemy nad projektami o stałym budżecie, więc wszelkie koszty pochodzą z zysków naszej firmy); druga połowa uważa, że pomoże to w wsparciu projektów.
Jestem zdecydowanie w byłym obozie. Chociaż doceniam, że niektóre przypadki zewnętrzne spowodowałyby, że dodatkowe kolumny poprawiłyby obsługę, moim zdaniem ilość pracy, która byłaby wymagana, aby dodać kolumny w pierwszej kolejności, a także konserwacja, sprawiłyby, że spędziliśmy mniej czasu na więcej ważne rzeczy, takie jak testy jednostkowe lub obciążenia. Jestem też całkiem pewien, że te dodatkowe kolumny sprawiłyby, że korzystanie z ORM byłoby bardziej niezręczne - pamiętając, że używamy głównie C # i Oracle, co na początku nie jest zbyt przyjemne z ORM.
Moje pytanie jest więc dwojakie:
- Czy jestem we właściwym obozie? Nie twierdzę, że mam znane na całym świecie umiejętności baz danych, więc może to być banalnie łatwy dodatek bez żadnych niepożądanych skutków ubocznych.
- Jak poradziłbyś sobie z sytuacją, w której spotkanie na temat standardów zmienia się w mecz żużlowy? Jak mogę naprawdę sprzedać, że ten standard nie pomoże nam w dłuższej perspektywie?