Ver Mensaje Individual
  #14  
Antiguo 19-12-2007
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Lo que pasa es que quieres meter un cuadrado en un circulo. En Apolo 13 lo hicieron, pero eran los cientificos de la NASA.

Hay algunos tips elementales para programar:

- Las funciones deben ser "cortas" con anidaciones que ojala no sean muy profundas.
- Una variable para cada cosa. Y solo una cosa a la vez
- Las variables son del tipo de datos preciso, en los lenguajes donde sea posible
- Un codigo bien escrito deberia poder leerse sin la necesidad de comentarios. Para ello:
-- Los nombres deberian de ser claros , anular el deseo de usar abreviaciones a menos que la abreviacion sea la forma mas clara de expresarlo
-- Buena identacion y en el caso de nombres compuestos decidirse por el estilo NombreCompuesto (nota las mayusculas) o Nombre_compuesto o nombreCompuesto. Lo importante es que sea obvia la division.
-- Utilizar bien la identacion, y apegarse a ella. Te recomiendo que adoptes un estilo de formateo de codigo. El oficial es http://dn.codegear.com/article/10280 (aunque los comentarios tan decorados no son practicos, el resto es Ok)

Y del ZEN de python (http://mundogeek.net/archivos/2007/0...zen-de-python/) aplica:

2. Explícito es mejor que implícito.

cVar es de naturaleza implicita y varia su significado. Eso es casi como tener una variable global.


Cuando se necesita una variable mutante se usa un VARIANT o un variable empaquetada como un array, record, o mi favorita, una clase poliformica. Por ejemplo:
Código Delphi [-]
TValor=class
   public
      Valor:Variant;
      function Recuperar
      begin
       //Escribir aqui como se decide que se devuelve esto o aquello. Al ponerlo como una funcion queda explicito en codigo que el valor es poliformico y que regla se sigue para recuperarlo. Ej: Al devolver el precio de un producto, hay una regla que determina que es o no con impuesto.
      end;

7. La legibilidad cuenta.

No es legible el codigo. No esta bien identado y a juzgar por las respuestas, fue dificil darse cuenta para todos de que trataba. Debido a lo especializado de tu codigo (y quizas esas abreviaturas tengan sentido en el ambito que se mueve) la unica forma de volverlo legible es con una nota de que es eso

Tambien te recomiendo que sigas el consejo de las palabras compuestas.

8. Los casos especiales no son suficientemente especiales como para romper las reglas.

Darle muchos significados a una variable por ahorrarse una declaracion tiende a complicar la logica.

9. Aunque lo pragmático gana a la pureza.

Solo es practico usar una vbl poliformica para algo que es de naturaleza poliformica. No como atajos

12. Cuando te enfrentes a la ambigüedad, rechaza la tentación de adivinar.

O sea, si hay que adivinar, el codigo tiene un defecto de diseño!

13. Debería haber una -- y preferiblemente sólo una -- manera obvia de hacerlo.
17. Si la implementación es difícil de explicar, es una mala idea.
18. Si la implementación es sencilla de explicar, puede que sea una buena idea.

__________________
El malabarista.
Responder Con Cita