Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-10-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Yo huyo de la notación húngara como de la peste. Yo, cuando programo, necesito saber qué hace o qué contiene, no el cómo. Sabiendo el qué ya puedo imaginarme el tipo de datos que se necesita y, si no, para algo están los prototipos y la opción de búsqueda.

Cuando programo en C utilizo "slashing": funcion_muy_util_de_suma
Cuando programo en Pascal utilizo "Ucase": OtraFuncionDeSumaDistina

Soy así de chulo, yo
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #2  
Antiguo 30-10-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Cita:
Empezado por Ñuño Martínez Ver Mensaje
Yo huyo de la notación húngara como de la peste. Yo, cuando programo, necesito saber qué hace o qué contiene, no el cómo. Sabiendo el qué ya puedo imaginarme el tipo de datos que se necesita y, si no, para algo están los prototipos y la opción de búsqueda.

Cuando programo en C utilizo "slashing": funcion_muy_util_de_suma
Cuando programo en Pascal utilizo "Ucase": OtraFuncionDeSumaDistina

Soy así de chulo, yo

Si, la verdad es que yo también tengo mi propio standard también... El problema es cuando programas con otras personas o alguien tiene que revisar tu código, pero hasta ahora sigo con mi propio standard, igual que Ñuño.


[]Me temo que nos parecemos a Microsoft creando nuestros propios standard[/]
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.
Responder Con Cita
  #3  
Antiguo 30-10-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
yo igual que Lepe... no le veo conflicto en usar las dos:

Un TComboBox para filtrar el estatus de una factura: cmbFiltraFactura.ItemIndex ... etc. etc
__________________

Responder Con Cita
  #4  
Antiguo 30-10-2007
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.045
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Gabo Ver Mensaje
Si, la verdad es que yo también tengo mi propio standard también... El problema es cuando programas con otras personas o alguien tiene que revisar tu código, pero hasta ahora sigo con mi propio standard, igual que Ñuño.


[]Me temo que nos parecemos a Microsoft creando nuestros propios standard[/]
Precisamente en microsoft usan obligatoriamente la notación húngara. Ten en cuenta que el creador de la citada notación, Charles Simonyi, fue el programador jefe, mano derecha de Gates, creador de Multiplan (precursor del MsExcel) y luego toda la saga de MsOffice.

Es lo único bueno de microsoft
Responder Con Cita
  #5  
Antiguo 04-11-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

Interesante hilo Edgar.

Concuerdo con los que dicen que lo mejor es aprovechar un poco de cada mundo. La propia VCL utiliza CamelCase con una especial variación para las "constantes de grupo" similar a la Notación Húngara, pero cuyo prefijo, en este caso de dos letras minúsculas, no necesariamente indica el tipo de dato sino además (o en lugar de eso, cuando son enteros y no enumerados) el grupo al cual pertenecen. Un ejemplo clásico son las constantes dsBrowse, dsEdit y dsInsert que pertenecen al tipo enumerado TDataSetState (el "grupo" de estados de conjuntos de datos).

En particular, cuando se trata de alguna biblioteca de propósito general (es decir, no código particular de una aplicación específica), utilizo un prefijo en minúsculas para los nombres de sus funciones (no así los métodos) que identifica la biblioteca a la que pertenecen dichas funciones. Y para las constantes de grupo, en lugar de utilizar dos letras como lo acostumbra Borland, utilizo tres, además del prefijo que identifica a qué biblioteca pertenecen.

Para dar una idea, estas son algunas muestras de lo que he escrito últimamente:
Código Delphi [-]
    { Save Point Action type }
    TghSavePointAction = (ghspaNone, ghspaConfirm, ghspaRestore);
Código Delphi [-]
    { Magia Client Data Set Save Point class }
    TMagiaClientDataSetSavePoint = Class (TghCustomSavePoint)
      Protected
        { Fields }
        State :Integer;

        { Overridden methods }
        Procedure InternalConfirm; Override;
        Procedure InternalRestore; Override;
        Procedure InternalSave; Override;
        Procedure Invalidate (
          DetailAction :TghSavePointAction = ghspaNone); Override;
    End;
Código Delphi [-]
  Function TMagiaSQLConnection.ExecProc (Const Proc :String;
    Const Params :Variant) :Variant;
  Var
    I :Integer;

    { Avoid conflicts with TSQLStoredProc.Params.  In cases like this, we
      prefer his method instead of to prefix the formal parameter with "A",
      so operative programmers don't feel confused (connection component
      has a Params property, "AParams" would be related with this
      property). }
    AParams :Variant Absolute Params;
  Begin
    With TSQLStoredProc.Create (Self) Do
      Try
        SQLConnection := Self;
        StoredProcName := CasedName (Proc);

        { Assign input parameters }
        If VarIsArray (AParams) Then
          For I := 0 To VarArrayHighBound (AParams, 1) Do
            ghInputParam (Params, I).Value := AParams [i]
        Else
          ghInputParam (Params).Value := AParams;

        ExecProc;
        I := ghOutputParamCount (Params);

        { Return output parameter(s) or Null }
        Case I Of
          0 : Result := Null;
          1 : Result := ghOutputParam (Params).Value;
          Else
          Begin
            Result := ghVariantArray (I);

            For I := 0 To I - 1 Do
              Result [i] := ghOutputParam (Params, I).Value;
          End
        End;
      Finally
        Free;
      End;
  End;

Ésta última me da un poco de pena porque, como bibliotecario partidario de la atomización, hago mucho hincapié en que las rutinas no tengan más de 20 o 30 líneas de código, y ese método en particular tiene 43.

Nótese que los identificadores y comentarios están en inglés, y esto es porque se trata de bibliotecas de propósito general que cualquier programador del mundo podrá llegar a utilizar. Pero cuando es código particular de una aplicación, por lo general empleo el idioma español para sus identificadores y comentarios.

Y como habrán visto, soy poco convencional con el asunto de las mayúsculas, las minúsculas, la separación de bloques y paréntesis y la declaración de elementos tipificados. Es el resultado de un estilo que fui desarrollando con los años, pienso yo para bien, y que procuro respetar al pie de la letra manteniendo consistente mi código.

Nada que ver con la manera en que programaba en 1993, durante mi época de estudiante :
Código Delphi [-]
 PROCEDURE FORMAR;
 BEGIN
   TEXTCOLOR (0);
   YANO := FALSE;
   Y := - (ANY - 1);
   REPEAT
     INC (Y, ANY);
     X := - (ANX - 1);
     REPEAT
       INC (X, ANX);
       TEXTBACKGROUND ( ARCOLOR [RANDOM (MAXCOLOR)] );
       VENTIW (X, Y, X + (ANX - 1), Y + (ANY - 1) );
     UNTIL X >= 75;
   UNTIL Y >= 21;
 END;

¡No me pregunten para qué era esa rutina!

Por cierto, otra cosa que acostumbro es no utilizar más allá de la columna 75 por aquello de querer imprimir el código o mostrarlo en una pantalla de menor tamaño. Además de que resulta más cómodo de leer un texto que no es muy ancho (de ahí el estilo de los diarios).

Un abrazo a todos.

Al González.

Última edición por Al González fecha: 10-12-2007 a las 06:20:54.
Responder Con Cita
  #6  
Antiguo 04-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por Al González Ver Mensaje

En particular, cuando se trata de alguna biblioteca de propósito general (es decir, no código particular de una aplicación específica), utilizo un prefijo en minúsculas para los nombres de sus funciones (no así los métodos) que identifica la biblioteca a la que pertenecen dichas funciones.
Muy interesante y cómodo, con solo digitar 2 letras, lo mostrado en el Code Insight se reduce bastante. Ahora mismo se mezclan mis propias funciones con las de Borland/Codegear, y en lugar de ayuda, el code insight sirve para confundirme (igual te copio ).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 14-11-2007
AngelV AngelV is offline
Miembro
 
Registrado: abr 2007
Posts: 49
Poder: 0
AngelV Va por buen camino
Utilizo CamelCase con guiones porque cuando entré en la Universidad nos enseñaron a hacerlo así, y me parece bastante legible.
Responder Con Cita
  #8  
Antiguo 14-11-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Yo estoy en contra de los guiones por que me parece que estoy escribiendo un caracter de más:

UnaVariable

una_variable

habría que multiplicar ese caracter extra, por cada vez que lo utilizas, para ver cuantos caracteres extras se escriben en el día, en el mes, al año, etc, etc.
__________________

Responder Con Cita
  #9  
Antiguo 26-11-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Acabo de descubrir este hilo, después de mi ausencia...

Cita:
Empezado por Al González Ver Mensaje
Nada que ver con la manera en que programaba en 1993, durante mi época de estudiante :
Código Delphi [-]
 PROCEDURE FORMAR;
 BEGIN
   TEXTCOLOR (0);
   YANO := FALSE;
   Y := - (ANY - 1);
   REPEAT
     INC (Y, ANY);
     X := - (ANX - 1);
     REPEAT
       INC (X, ANX);
       TEXTBACKGROUND ( ARCOLOR [RANDOM (MAXCOLOR)] );
       VENTIW (X, Y, X + (ANX - 1), Y + (ANY - 1) );
     UNTIL X >= 75;
   UNTIL Y >= 21;
 END;

¡No me pregunten para qué era esa rutina!

Por cierto, otra cosa que acostumbro es no utiliza
Vaya, yo programaba igual cuando estudié mi carrera xDDD

Ahora cuando veo mi código de esas épocas me resulta algo ilegible jejeje

Sobre que uso, como muchos, una mezcla de ambas notaciones...

Para nombres de controles y tipos numerados uso Hungara y para variables, clase y métodos CamelCase...


Saludos...
Responder Con Cita
  #10  
Antiguo 02-12-2007
Avatar de courtois
courtois courtois is offline
Miembro
 
Registrado: abr 2006
Ubicación: Mexico DF
Posts: 200
Poder: 19
courtois Va por buen camino
Para el trabajo, CamelCase con underscore en casos especiales, porque es legible, pero cuando es un proyectito solo para mi, uso notacion hungara o abreviaturas propias a fin de escribir menos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:11:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi