He visto esto en un par de lugares diferentes. Es genial en teoría, pero rara vez he visto que sea efectivo. Este es el por qué. En primer lugar, si tiene un equipo de DBA (u otras personas), generalmente he descubierto que la persona menos competente o menos querida del grupo recibe la peor parte del trabajo de revisión. ¿Por qué dices? Es porque nadie más quiere hacerlo, y todos los demás están ocupados haciendo otras cosas que probablemente sean más urgentes. Alguna vez vi a un DBA sentarse y decir: "Hombre, todo está funcionando perfecto; puedo simplemente sentarme y navegar por la red. Ojalá tuviera algo que hacer". Yo tampoco, al menos no los buenos. Están tan ocupados u ocupados que todos los demás. Esto significa que la persona que es menos capaz probablemente esté haciendo la revisión, y esta es exactamente la persona que no desea que lo haga. El código que desea revisar es el código realmente difícil que la gente mira y lo pasa como una especie de magia negra. Los DBA junior o simplemente malos, nunca podrán captar las sutilezas de cómo funciona una consulta realmente difícil. Rara vez, como nunca, alguien dice alguna vez: "¡Hombre, no pensé en seleccionar una sola fila de una mesa usando la clave principal! Gracias DBA, eres un salvavidas". Entonces, en este escenario, realmente todo lo que está haciendo es crear mucho trabajo por poco valor. ¡No piense en seleccionar una sola fila de una tabla usando la clave primaria! Gracias DBA, eres un salvavidas ". Entonces, en este escenario, realmente todo lo que estás haciendo es crear mucho trabajo por poco valor. ¡No piense en seleccionar una sola fila de una tabla usando la clave primaria! Gracias DBA, eres un salvavidas ". Entonces, en este escenario, realmente todo lo que estás haciendo es crear mucho trabajo por poco valor.
En segundo lugar, es simplemente más trabajo para el grupo DB. Lo que probablemente va a suceder incluso si miran otras cosas es que lo echarán un vistazo rápido y se perderá algo. Son personas ocupadas, y revisar el código lleva mucho tiempo. En verdad, no es justo que se encarguen de esto, porque es una excusa para que todos los demás sean flojos y los usen como una salida, que en última instancia es lo que sucede. Algo se rompe en la producción, y el desarrollador señala rápidamente: "Bueno, el DBA lo revisó". Ahora esto es cierto todo el tiempo, no, pero es cierto parte del tiempo y, a menudo, de las personas que necesitan revisar su código realmente. Entonces, enterró al DBA con trabajo adicional y forzó a esa persona a ser responsable de los errores de otra persona, cuando esa persona probablemente no
La única forma de resolver realmente el problema es que las personas que saben cómo escribir código SQL lo escriban. ¿Deberían recibir información de los DBA de vez en cuando? Por supuesto que deberían, pero siempre he encontrado, si no tienes tiempo para hacerlo bien la primera vez, cuándo vas a encontrar tiempo para arreglarlo.