[FUERADETEMA] Nomenclatura de programas

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[FUERADETEMA] Nomenclatura de programas

Gerardo Santana Gómez Garrido

Estamos escribiendo un conjunto de herramientas en la oficina y me
 gustaría establecer una nomenclatura para los mismos, antes de
 escribir más.

 Se me ocurría usar verbo-sujeto, o verbo_sujeto, o viceversa.

 Entonces eché un ojo a OpenBSD y encontré

  pkg_*
  ssh-*
  rpc.*

 donde el prefijo es más bien un espacio de nombres (namespace).
También encontré

  user*
  group*
  skey*

 donde no usan separador alguno entre el sujeto y el verbo.

 La pregunta es, ¿qué nomenclatura usarían ustedes y por qué?
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "OpenBSD México" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [hidden email]
 Para anular la suscripción a este grupo, envía un mensaje a [hidden email]
 Para obtener más opciones, visita este grupo en http://groups.google.com.mx/group/OpenBSD-Mexico?hl=es.

-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: [FUERADETEMA] Nomenclatura de programas

overdrive openbsd

Hola Gerardo,

Pues depende de muchas cosas, yo siempre he pensado que la semantica
es uno de los aspectos mas importantes dentro de la programacion.

En primer lugar debo decir que no se suelen usar las mismas notaciones
para todo, es decir, es muy distinto una API de lo que por ej no lo
es, y es distinto cuando programas en lenguajes orientados a objetos y
cuando no, por una razon muy simple, los objetos tienen metodos,
funciones virtuales y funciones virtuales puras entran en juego
tambien (llamadas de otra forma segun el lenguaje).

Yo cuando programo con objetos prefiero usar la notacion hungara, sin
embargo esta tiene muchos detractores (y uno de ellos es mi preferido,
Stroustrup).

Lo mejor es que veas las ventajas y desventajas en la wikipedia, te
leas las opiniones personales de cada uno y tu mismo decidas si lo
prefieres o no:

http://en.wikipedia.org/wiki/Hungarian_notation

Claro que los que estan en contra, si te fijas, suelen ser
programadores puramente de sistemas (Linus, Stroustrup, etc) Pero creo
sinceramente que en apps de proposito general su uso es correcto.

En los comandos de sistema no se puede usar dicha notacion, es obvio,
solo molestaria al usuario por ej. "adduser" es mejor que "addUser",
ya que es mas rapido teclearlo y usarlo en linea de comandos. Sin
embargo cuando te toca leer y revisar codigo de otro y son varios
miles de lineas si tienes una funcion tal que "addUser()" ayuda a
dicha lectura. La notacion hungara no la utilizas en todos los
simbolos, por ej. las macros van en mayusculas, y los tipos en
minusculas, las clases la primera en mayuscula, los tipos definidos
por el usuario generalmente con el sufijo _t, y hay un sin fin de
ejemplos.

Es decir que en ningun caso se puede comparar la notacion que puedes
usar en linea de comandos con la de un programa a bajo nivel en un
lenguaje concreto de un lenguaje orientado a objetos.

Saludos,

Borja Tarraso

2008/3/7 Gerardo Santana <[hidden email]>:

>
>  Estamos escribiendo un conjunto de herramientas en la oficina y me
>   gustaría establecer una nomenclatura para los mismos, antes de
>   escribir más.
>
>   Se me ocurría usar verbo-sujeto, o verbo_sujeto, o viceversa.
>
>   Entonces eché un ojo a OpenBSD y encontré
>
>   pkg_*
>   ssh-*
>   rpc.*
>
>   donde el prefijo es más bien un espacio de nombres (namespace).
>  También encontré
>
>   user*
>   group*
>   skey*
>
>   donde no usan separador alguno entre el sujeto y el verbo.
>
>   La pregunta es, ¿qué nomenclatura usarían ustedes y por qué?
>  >
>

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "OpenBSD México" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [hidden email]
 Para anular la suscripción a este grupo, envía un mensaje a [hidden email]
 Para obtener más opciones, visita este grupo en http://groups.google.com.mx/group/OpenBSD-Mexico?hl=es.

-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: [FUERADETEMA] Nomenclatura de programas

overdrive openbsd

Es decir, con el mail de antes queria preguntarte basicamente que tipo
de aplicacion estas haciendo y en que lenguaje?

Saludos,

Borja Tarraso

2008/3/10 overdrive openbsd <[hidden email]>:

> Hola Gerardo,
>
>  Pues depende de muchas cosas, yo siempre he pensado que la semantica
>  es uno de los aspectos mas importantes dentro de la programacion.
>
>  En primer lugar debo decir que no se suelen usar las mismas notaciones
>  para todo, es decir, es muy distinto una API de lo que por ej no lo
>  es, y es distinto cuando programas en lenguajes orientados a objetos y
>  cuando no, por una razon muy simple, los objetos tienen metodos,
>  funciones virtuales y funciones virtuales puras entran en juego
>  tambien (llamadas de otra forma segun el lenguaje).
>
>  Yo cuando programo con objetos prefiero usar la notacion hungara, sin
>  embargo esta tiene muchos detractores (y uno de ellos es mi preferido,
>  Stroustrup).
>
>  Lo mejor es que veas las ventajas y desventajas en la wikipedia, te
>  leas las opiniones personales de cada uno y tu mismo decidas si lo
>  prefieres o no:
>
>  http://en.wikipedia.org/wiki/Hungarian_notation
>
>  Claro que los que estan en contra, si te fijas, suelen ser
>  programadores puramente de sistemas (Linus, Stroustrup, etc) Pero creo
>  sinceramente que en apps de proposito general su uso es correcto.
>
>  En los comandos de sistema no se puede usar dicha notacion, es obvio,
>  solo molestaria al usuario por ej. "adduser" es mejor que "addUser",
>  ya que es mas rapido teclearlo y usarlo en linea de comandos. Sin
>  embargo cuando te toca leer y revisar codigo de otro y son varios
>  miles de lineas si tienes una funcion tal que "addUser()" ayuda a
>  dicha lectura. La notacion hungara no la utilizas en todos los
>  simbolos, por ej. las macros van en mayusculas, y los tipos en
>  minusculas, las clases la primera en mayuscula, los tipos definidos
>  por el usuario generalmente con el sufijo _t, y hay un sin fin de
>  ejemplos.
>
>  Es decir que en ningun caso se puede comparar la notacion que puedes
>  usar en linea de comandos con la de un programa a bajo nivel en un
>  lenguaje concreto de un lenguaje orientado a objetos.
>
>  Saludos,
>
>  Borja Tarraso
>
>  2008/3/7 Gerardo Santana <[hidden email]>:
>
>
> >
>  >  Estamos escribiendo un conjunto de herramientas en la oficina y me
>  >   gustaría establecer una nomenclatura para los mismos, antes de
>  >   escribir más.
>  >
>  >   Se me ocurría usar verbo-sujeto, o verbo_sujeto, o viceversa.
>  >
>  >   Entonces eché un ojo a OpenBSD y encontré
>  >
>  >   pkg_*
>  >   ssh-*
>  >   rpc.*
>  >
>  >   donde el prefijo es más bien un espacio de nombres (namespace).
>  >  También encontré
>  >
>  >   user*
>  >   group*
>  >   skey*
>  >
>  >   donde no usan separador alguno entre el sujeto y el verbo.
>  >
>  >   La pregunta es, ¿qué nomenclatura usarían ustedes y por qué?
>  >  >  >
>  >
>

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "OpenBSD México" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [hidden email]
 Para anular la suscripción a este grupo, envía un mensaje a [hidden email]
 Para obtener más opciones, visita este grupo en http://groups.google.com.mx/group/OpenBSD-Mexico?hl=es.

-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: [FUERADETEMA] Nomenclatura de programas

Gerardo Santana Gómez Garrido

Qué tal Borja,

hablo de nombres de programas, no de funciones.

Muchos son reportes, a los que pondré el nombre de la información que
arrojan. Pero el resto suelen realizar modificaciones en la base de
datos, o transformaciones en archivos.

De ahí que se me ocurre usar verbo-sujeto, como en depurar-tabla,
insertar-datos, separar-registros, etc. (Estos nombres son sólo
ejemplos. Son demasiado genéricos para ser útiles. Sólo es para darte
una idea.)

El guión bajo (underscore) requiere presionar una tecla adicional:
mayúsculas (shift).
Unir verbo y sujeto puede ser confuso, en mi caso particular.

Sujeto-verbo suena interesante también, pues al listar el contenido
del directorio, se agruparían automáticamente aquellos programas que
realicen alguna acción sobre el sujeto.

En fin, en eso ando.

--
Gerardo Santana

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "OpenBSD México" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [hidden email]
 Para anular la suscripción a este grupo, envía un mensaje a [hidden email]
 Para obtener más opciones, visita este grupo en http://groups.google.com.mx/group/OpenBSD-Mexico?hl=es.

-~----------~----~----~----~------~----~------~--~---

Reply | Threaded
Open this post in threaded view
|

Re: [FUERADETEMA] Nomenclatura de programas

overdrive openbsd

Estoy totalmente de acuerdo contigo, en un comando prefiero usar el
guion normal, creo que es lo mas apropiado. Fijate en ejemplos claros
de comandos como ssh-keygen, etc. Para linea de comandos yo tambien
prefiero un guion. Fijate tambien que en emacs todas las macros se
usan de la misma manera M-x msf-abbrev-mode, M-x c-mode, M-x
fundamental-mode, M-x global-set-key, etc).

Los guiones debajo los uso mas por ej. para como te decia antes
nombres de funciones en c. Asi que si, creo que lo mejor es poner un
guion normal en tu caso.

Si es un conjunto de utilidades que hacen lo mismo o "orientados a
trabajar en lo mismo" te recomiendo ademas un prefijo, fijate,
comandos como "ssh-*" donde * puede ser cualquier accion a tomar
(ssh-add, ssh-agent, ssh-keygen...) excepto para el el daemon sshd por
convencion del sistema, y el cliente ssh.

Si en cambio son pocas apps y no tienen mucho que ver, entonces no
haria esto, aunque claro eso ya l overas tu. Si sin embargo todas se
dedican a transformar, siempre podrias hacer algo asi como
transform-foo2bar, transform-bar2foo, transform-a2b, etc (si tu
herramientas se llama transform por ej.) O tambien uno solo, con
muchos modulos y llamarlo a modo argumentos, transform -input foo
-output bar -to fomat, donde input y ouput puede ser el nombre de un
fichero, y to seria el formato (esto no me acaba mucho) He visto por
ej tools que hacen lo mismo qeu la tuya, transformar de un tipo de
odcumentos a otros y generalmente lo hacen asi, un monton de comandos
asi:

doc2html
html2doc
txt2html
html2txt
pdf2doc
doc2pdf
etc... claro qu eaunque no conozcas los comandos que existen
simplemente hay que saber con que extensiones quieres jugar, asi que
es bastante intuitivo. (Yo me quedo con esta ultima)

Claro que todo el mundo conoce de que extension a que extension quiere
pasar en estos casos, si tu herramienta no es algo tan claro, quizas
la mejor solucion sea la de:

transform-ggi2duv
transform-zvbm2mktree
etc...

Saludos

Borja Tarraso


2008/3/10 Gerardo Santana Gómez Garrido <[hidden email]>:

>
>  Qué tal Borja,
>
>  hablo de nombres de programas, no de funciones.
>
>  Muchos son reportes, a los que pondré el nombre de la información que
>  arrojan. Pero el resto suelen realizar modificaciones en la base de
>  datos, o transformaciones en archivos.
>
>  De ahí que se me ocurre usar verbo-sujeto, como en depurar-tabla,
>  insertar-datos, separar-registros, etc. (Estos nombres son sólo
>  ejemplos. Son demasiado genéricos para ser útiles. Sólo es para darte
>  una idea.)
>
>  El guión bajo (underscore) requiere presionar una tecla adicional:
>  mayúsculas (shift).
>  Unir verbo y sujeto puede ser confuso, en mi caso particular.
>
>  Sujeto-verbo suena interesante también, pues al listar el contenido
>  del directorio, se agruparían automáticamente aquellos programas que
>  realicen alguna acción sobre el sujeto.
>
>  En fin, en eso ando.
>
>  --
>  Gerardo Santana
>
>
>
>  >
>

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "OpenBSD México" de Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [hidden email]
 Para anular la suscripción a este grupo, envía un mensaje a [hidden email]
 Para obtener más opciones, visita este grupo en http://groups.google.com.mx/group/OpenBSD-Mexico?hl=es.

-~----------~----~----~----~------~----~------~--~---