¿Debo hacer cumplir la regla de 'una instrucción por línea'? [cerrado] -- php camp codereview Relacionados El problema

Should I enforce the 'one instruction per line' rule? [closed]


-2
vote

problema

Español
cerrado. Esta pregunta es off-topic . Actualmente no está aceptando respuestas.

¿Quieres mejorar esta pregunta? Actualizar la pregunta por lo que es on-topic para el intercambio de pila de revisión de código.

CERRADO hace 4 años .

Mejorar esta pregunta

Estoy revisando el siguiente código:

  $creationDate = $order->getOrderCreationDate(); $dir = Mage::helper('moduleX/order')->getPathOfTheDay($creationDate);   

La $ creationdate variable solo se usa una vez en el código mencionado anteriormente. Le sugirió a mi compañero de trabajo que podría simplificarse:

  $dir = Mage::helper('moduleX/order')->getPathOfTheDay($order->getOrderCreationDate());   

Pero invocó la regla una instrucción por línea , diciendo que el código estaba más limpio para leer y mi versión del código podría llevar a más errores potencialmente.

¿Qué piensas?

Original en ingles

I am reviewing the following code:

$creationDate = $order->getOrderCreationDate(); $dir = Mage::helper('moduleX/order')->getPathOfTheDay($creationDate); 

The $creationDate variable is only used once in the aforementioned code. I was suggesting to my coworker that it could be simplified to:

$dir = Mage::helper('moduleX/order')->getPathOfTheDay($order->getOrderCreationDate()); 

But he invoked the one instruction per line rule, saying that the code was more clean to read and my version of the code could lead to potentially more errors.

What do you think?

  
     
     

Lista de respuestas

1
 
vote
Las pautas de códigos son las reglas en blanco y negro escritas para un universo gris. Hay ocasiones y lugares donde cualquier regla dada es inadecuada o absoluta dañina. La adhesión ciega a las reglas puede ser frustrante, o incluso enloquecedora, a alguien que pueda ver las deficiencias de una regla en particular.

sin embargo.

Siempre consideraría cuidadosamente si existe o no una justificación real para dejar de lado una guía de codificación. Sí, me estoy pagando para ejercer mi mejor juicio, pero al tomar un trabajo, también he aceptado (explícitamente u implícitamente) para tratar de seguir las reglas y las directrices establecidas por mi empleador y los gerentes bajo los cuales trabajo. < / p>

En este caso, hay una diferencia de opinión sobre qué forma lo más sencillo y / o más legible. Solo hay una regla mencionada: "Una instrucción por línea" y ninguna justificación ofrecida por no seguir esa regla. En consecuencia, en estas circunstancias, me inclinaría a seguir la regla en lugar de dejarlo a un lado.

Diferentes circunstancias darían una respuesta diferente. Por ejemplo, en el que trabajo en un idioma con se encuentra orientado a objetos híbridos / funcional y en un lenguaje funcional, "una instrucción por línea" probablemente no sería parte de las pautas de codificación. Sin embargo, a tener en cuenta que, que los programadores funcionales pueden, y hacer, quedarse arrastrados por su propia inteligencia, dejando atrás el código que puede ser muy difícil de seguir.

 

Code guidelines are black-and-white rules written for a gray universe. There are times and places where any given rule is either unhelpful or outright harmful. Blind adherence to rules can be frustrating, or even maddening, to someone who can see the shortcomings of a particular rule.

However.

I would always carefully consider whether or not there is a real justification for setting aside a coding guideline. Yes, I'm being paid to exercise my best judgement, but by taking a job, I have also agreed (explicitly or implicitly) to try and follow the rules and guidelines set forth by my employer and the managers under whom I work.

In this case, there is a difference of opinion as to which form the simplest and/or most readable. There is only one rule mentioned - "one instruction per line" and no justification offered for not following that rule. Consequently, under these circumstances, I would be inclined to follow the rule rather than set it aside.

Different circumstances would give a different answer. For example, I work in a language with is hybrid object-oriented/functional and in a functional language, "one instruction per line" would probably not be part of the coding guidelines. Keeping in mind, though, that functional programmers can, and do, get carried away by their own cleverness, leaving behind code that can be very difficult to follow.

 
 

Relacionados problema

30  Codeigniter Active Record Subqueries  ( Codeigniter active record subqueries ) 
Yo uso CodeIgNiter en el trabajo, y uno de nuestros archivos modelo tuvo muchas subcarías en ella. Originalmente tuve que escribir manualmente cada subconsu...

10  Comparando datos en 2 tablas en diferentes servidores con suma de comprobación  ( Comparing data in 2 tables on different servers with checksum ) 
Así que he tenido un problema en el que necesito comparar datos en 2 tablas diferentes en dos servidores diferentes. Ahora, sé que MySQL admite CHECKSUM TABL...

2  PHP - Función para manejar las solicitudes  ( Php function to handle requests ) 
Tengo la siguiente función que maneja las solicitudes. Tiene más de 130 líneas public function run() { $objectRequests = json_decode(file_get_contents(...

28  Biblioteca PHP AutoOoGer  ( Php autoloader library ) 
Básicamente, había escrito esta clase hace poco tiempo para aliviar la carga automática de nuestras bibliotecas locales. La premisa es que todo se divide po...

1  Nombre de la bahía Pirata y MAILER MAILER  ( Pirate bay name and magnet mailer ) 
Entonces, primera vez que trato PHP. Pensé que me gustaría establecer un objetivo para mí, dividirlo en problemas más pequeños y comenzar a andar en Google. A...

4  Consulta para trazar un histograma de calificaciones de canciones  ( Query to plot a histogram of song ratings ) 
Escribí código para trazar una distribución de calificación, que se parece a esto: La función más importante es el stats Función: function stats($so...

-4  Demasiado anidamiento [cerrado]  ( Too much nesting ) 
cerrado. Esta pregunta es off-topic . Actualmente no está aceptando respuestas. ¿Quieres ...

2  Formulario básico de comentarios de PHP  ( Basic php comment form ) 
Soy un novato de programación. He escrito este simple script PHP para ejecutar un formulario de comentarios muy básico y apreciaría cualquier comentario, espe...

41  Conexión de la base de datos en constructor y destructor  ( Database connection in constructor and destructor ) 
Estoy jugando con diferentes maneras de hacer la interacción de la base de datos en PHP, y una de las ideas con las que he estado jugando está conectando a la...

2  PHP Prueba ISSET e instantánea en un disparo. Posible en php?  ( Php test isset and instantiate in one shot possible in php ) 
¿Cómo mejorar este tipo de redundancia? 'done'8 Quiero evitar repetir $ _bet ['NID'] Ejemplo de uso útil de uso: 'done'9 ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos