Widziałem to w kilku różnych miejscach. Jest świetny w teorii, ale rzadko widziałem, żeby był skuteczny. Dlatego. Po pierwsze, jeśli masz zespół DBA (lub innych osób), ogólnie stwierdziłem, że najsłabiej kompetentna lub najmniej lubiana osoba z grupy ponosi ciężar pracy związanej z recenzowaniem. Dlaczego mówisz? Jest tak, ponieważ nikt inny nie chce tego robić, a wszyscy inni są zajęci robieniem innych rzeczy, które prawdopodobnie są bardziej pilne. Widziałem kiedyś DBA siedzącego i mówiącego: „Człowieku, wszystko działa idealnie; mogę po prostu usiąść i surfować po sieci. Chciałbym mieć coś do zrobienia”. Ja też, przynajmniej nie ci dobrzy. Są tak zajęci lub zajęci jak wszyscy inni. Oznacza to, że osoba, która jest najmniej zdolna, najprawdopodobniej dokonuje przeglądu, a dokładnie takiej osoby nie chcesz robić. Kod, który chcesz sprawdzić, to naprawdę twardy kod, na który ludzie patrzą i przekazują go jako coś w rodzaju czarnej magii. Junior DBA lub po prostu złe, nigdy nie będzie w stanie uchwycić subtelności tego, jak działa naprawdę trudne zapytanie. Rzadko, jak nigdy, nikt nigdy nie mówi: „Człowieku, nie pomyślałem o wybraniu jednego wiersza ze stołu za pomocą klucza podstawowego! Dzięki DBA jesteś ratownikiem”. Więc w tym scenariuszu naprawdę wszystko, co robisz, to tworzenie dużej ilości pracy za niewielką wartość. Pomyśl o wybraniu jednego wiersza ze tabeli za pomocą klucza podstawowego! Dzięki DBA jesteś ratownikiem. ”W tym scenariuszu naprawdę wszystko, co robisz, to tworzenie dużej ilości pracy za niewielką wartość. Pomyśl o wybraniu jednego wiersza ze tabeli za pomocą klucza podstawowego! Dzięki DBA jesteś ratownikiem. ”W tym scenariuszu naprawdę wszystko, co robisz, to tworzenie dużej ilości pracy za niewielką wartość.
Po drugie, jest to po prostu więcej pracy dla grupy DB. To, co prawdopodobnie się wydarzy, nawet jeśli spojrzą na inne rzeczy, to rzucić na to okiem i coś zostanie pominięte. Są zajęci, a przeglądanie kodu zajmuje dużo czasu. W rzeczywistości to niesprawiedliwe, że mają do tego zadanie, ponieważ jest to wymówka dla wszystkich innych, aby być leniwymi i używać ich jako wyjścia, co ostatecznie się dzieje. Coś się psuje w produkcji, a programista szybko zauważa: „Dobrze, że DBA to sprawdził”. Teraz jest to prawda przez cały czas, nie, ale jest to prawdziwa część czasu i często od ludzi, którzy muszą naprawdę zweryfikować swój kod. Więc zakopałeś DBA dodatkową pracą i zmusiłeś tę osobę do odpowiedzialności za czyjeś błędy, kiedy ta osoba prawdopodobnie nie
Jedynym sposobem, aby naprawdę rozwiązać problem, jest napisanie go przez ludzi, którzy wiedzą, jak napisać kod SQL. Czy powinni od czasu do czasu uzyskiwać dane od DBA? Oczywiście powinny, ale zawsze znajdowałem, jeśli nie masz czasu, aby zrobić to dobrze za pierwszym razem, kiedy znajdziesz czas, aby to naprawić.