documento de estándares de programación BennuGD

Started by DCelso, November 27, 2008, 10:32:02 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DCelso

Hola SplinterGU,
abro este tema para preguntarte como llevas el documento de normativa, consejos, estandares, recomendaciones de programación a la hora de desarrollar código para bennu.
Y también para que quede reflejado aquí para futuros proyectos.

Gracias de antemano en nombre de todos los programadores por el documento.
Felicidades por tus grandes avances en el proyecto.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

#1
Aca va la primera version del documento.
Acepto sugerencias.

EDIT:
Actualizacion del documento...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

josebita

Tiene buena pinta, aunque le veo una pequeña pega. En el texto no me ha parecido que quede claro que la parte de copyright es sólo si si quiere que la licencia sea la GPL. Para alguien que no sepa de qué va el tema puede ser confuso.
Una frase explicando eso y con un enlace a algún sitio en que se explique en qué consiste la licencia me parece que ayudarían.
Tampoco explicas que el texto no es válido si en los fuentes no se incluye una copia de la licencia (fichero COPYING) o una forma clara de conseguirla.

Por lo demás, está muy bien.

SplinterGU

No entre en detalles al respecto del copyright salvo la fecha y los autores, por el hecho de que el texto es una sugerencia, lo unico realmente importante y que debe contenerse en el copyright es la lista de autores y fechas.

Pero veo que necesito aclararlo mejor...

gracias
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

Hola SplinterGU, me parece buena propuesta pero le queda mucho aún ¿no?
me refiero a cuando usar mayusculas o minusculas en palabras reservadas, constantes o variables o definición de funciones o procesos
es decir cual usar mas correctamente para el estilo:
int p_imivariable
Int p_iMiVariable
INT p_i_mi_variable
bueno hay mas permutaciones pero ves lo que quiero decir
o porejemplo en C se recomienda usar mayusculas separando palabras con "_" para macros, pej.
#define MAX_VALOR 6
#define SUMAR(a,b)  a+b
y para variables empezar por minusculas y separar palabras con una mayuscula a inicio de palabra pej
int miVariable
Para funciones empezar siempre con mayusculas, no se, unas cuantas cosas mas.
No se, estás usando como refeencia alguna guia de estilo?
asi buscando he visto estasdos
http://iie.fing.edu.uy/ense/asign/str/curso-c/guia-c.htm
http://trevinca.ei.uvigo.es/~jgarcia/TO/guiaestilocpp.pdf
a ver si se puede sacar algo de ellas para este documento.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

Leiste el documento completo?
Eso que preguntas ya esta en el documento...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Si, tome el primero de ellos, pero obviamente el lenguaje es diferente asi que no quedo nada... y se tomaron ciertas cosas, y ciertas cosas se sugieren de forma diferente para que el codigo quede mas claro.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

ah,si, sorry no lo vi, asi de rápido lo leí, voy a releer. :((
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

fijate que esos puntos se describen luego de las tablas de prefijado, tablas que muestran el literal a usar (en minusculas) para los prefijos de variabales...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Sandman

#9
I wrote my own code convention last year, maybe you can get ideas from it. It's a bit of a mix of C and Java.

The prefixes for different kind of variables (like g_b, p_i, etc) are very informative, but personally I would never use them, because I don't really like the aesthetics (looks, feel) of them. MyProcess.l_iAngle just doesn't appeal to me, for example. Moreover, the use of a lowercase 'L' in code is not recommended, as it resembles a '1' and an uppercase 'i' quite much.

For the rest I don't have objective things left to say. One thing I do find more pleasing to the eye is to not write keywords in all uppercase like you do. For example, I don't like PROCESS BEGIN END, but I like Process Begin End, but that's just my opinion.

[EDIT]
It's here btw...
-- Sandman

SplinterGU

This are suggests for for publics projects... for your private code, you manage it how you like... this are for simple read code in publics project...

I like and I see clear: MyProcess.l_iAngle... you'd must know that vars can't not begin with "1" (number) then not confuse posible...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

Quizas no queda bien prefijar las funciones y procesos, antes del prefijo de origen (fuente/grupo origen) luego modificare el documento...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Sandman

I know this is for public projects and that variables cannot start with a digit. I am merely responding to your requests for suggestions. However this convention turns out, it's a good effort and I will probably support it.
-- Sandman

DCelso

SplinterGu, llámame tonto pero no encuentro en el documento lo referente a cómo escribir las palabras clave (o reservada) de Bennu como : public, private, begin, end, if, then, etc.

Otra cosa que quizás que veo aconsejable es no dar opciones distintas de nomenclatura al usuario como en el caso de puedes usar ("miVariable" o "mi_Variable") sino recomendar una de las dos y punto. Es que si empezamos a dejar vías abiertas al final el código generado usando la guia de estilo puede cambiar mucho entre usuarios alejándose del intento de igualación de estilo entre distintos programadores. No se si me entiendes.

Otra buena opción sería intentar disponer de un checklist en excel (o en calc para openoffice) para podernos autoevaluar (o que nos evaluen) el código a ver que apartados cumplimos de la guia de estilo.

En uno de mis antiguos trabajo teníamos uno y dependiendo del número de apartados cumplidos el código se aceptaba o se rechazaba :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

dice que la nomenclatura usada en el codigo debe ser pareja dentro de todo el proyecto...

las palabras claves no hay norma al respecto, en bennu se pueden escribir en minusculas y mayusculas, si hubiese una necesidad de limitar el uso de mayusculas o minusculas en las keywords, entonces se haria desde el lenguaje... agregare igualmente sugerencias al respecto. Gracias.

lo del checklist no me parece para nada mal... pueden incluir uno de esos en el proyecto...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2