Como estructurar un programa en bennu

Started by Danielo515, September 09, 2008, 04:24:13 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Danielo515

Si, amigos, tengo un poco de lío sobre como usar bennu. La verdad es que no he encontrado ningún sitio donde me lo dejen 100% claro y los ejemplos del bennupack me confunden y atormentan.

-¿en bennu no se declaran variables globales? ¿donde como cuando? ¿que quiere decir global option;? vale, parece que se pueden declarar variables globales donde a uno le salga del pepe. Pero, ¿estas variables solo tienen validez a partir del punto en que están declaradas? ¿que desmadre no?

-Los import tienen que ser 100% al principio Ya veo que no, una vez más, donde nos salga del pepe

-Aquí no se escribe program ni nada?

- ¿los procesos tienen que estar declarados antes de ser llamados? Me resulta un poco engorro. Lo pregunto porque tengo un programa en el que llamo a menu() en el begin madre y me dice que no está definido, y está justo debajo. edit Ves? Ahora tengo un proceso que [code language="bennu"]
Process menu()
miniradar()
end
Process miniradar()
menu()
end
[/code]
Como demonios soluciono esto? Además, cada proceso está en un archivo distinto.

-No tengo muy claro que librerias me debo importar ¿habrá documentación al respecto? ¿que cosas no precisan de importar ninguna libreria? ¿hay alguna libreria que importe todas, o algún parámetro del compilador que importe todas las librerias, por si no me apetece pensar, o que importe automáticamente las que necesite?

Bueno, de momento solo eso. Espero no molestar mucho.

PD: splinter, ya no se te ve por forum.divsite!

SplinterGU

Es todo eso igual a fenix...

- globals, si.
- import, en cualquier lugar
- program es opcion como en fenix
- Los procesos tienen que ser declarados antes o usar -Ca al compilar (ya en la ultima version esto cambió, ahora por defecto es igual a fenix, y si uno quiere ser pedante y estricto, y quiere que se requiera la declaracion previa debe usar el parametro -p o --pedantic, el -Ca se mantiene por compatibilidad, pero no es necesario, en las nuevas... la ultima wip2, requiere -Ca)
- Las librerias a incluir tenes la utilidad moddesc para ir familiarizandote en que incluye cada modulo (buscalo aca en el foro)
no es buena practica la autoinclusion de los modulos, ya que pueden existir diferentes modulos aportando las misma funciones, segun lo que uno quiera hacer, por ejemplo, un modulo de render opengl y un modulo de render software... todo depende de lo que uno quiera hacer... no es coherente de otra forma...

- Desde que me han echado de la administracion de divsite y comprobando de esa forma que no soy bienvenido ahi, ya que mi trabajo fue pesimo, he dicidido no participar mas en ese lugar... el lugar ahora es dominio de productos comerciales que teniendo su propio site desde hace años y diciendo que no tenian hosting usan divsite como oficial para publicitarse... ya mencione en su momento el asunto... y no me interesa saber nada mas...
Si alguien necesita consultarme cualquier asunto, estoy aca para ayudar en lo que se pueda...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Danielo515

GRacias, splinter. Entonces las variables global tienen funcionalidad en todo el programa se declaren donde se declaren ¿no?

SplinterGU

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

kim-elet-o

De hecho bennu cada vez se parece mas a los lenguajes de fuerte estructuracion (C++,Pascal,ect), son algo mas trabajosos, pero la ventaja es que se dejan las cosas bien claras de un principio, y sobre todo si un futuro hay que revisar el codigo, el tener las cosas estructuradas facilita de sobremanera el entender el codigo fuente escrito anteriormente, la estructuracion ayuda mucho tambien mantener la coherencia de un codigo fuente kilometrico.

Y muchas ventajas mas que se van viendo a medida que uno programa de estos modos.
|/
|\im-elet-o el yayo programador.

MythomizeR

#5
¿Y qué tal si las declaraciones de los procesos/funciones que emplean variables privadas y/o públicas también pudieran simplificarse a la forma:

declare function funcion int (string car, int num) end

Es decir, sin que tener que indicar secciones private/public, ya que de lo contrario, es fácil encontrarse con declaraciones más largas incluso que las propias definiciones, lo cual no queda muy bonito y creo que tampoco le resta claridad al código, pensando incluso que gana... en C es prácticamente así.

Imagino que existirá alguna razón importante por la que se use la actual forma, quizás, pero ahí lo dejo como simple sugerencia por si acaso.

Saludos y buen trabajo con Bennu.

SplinterGU

solo es requisito hacerlo con las publics, el resto se pueden declarar en la funcion propiamente dicha
el motivo es que el compilador necesita saber donde buscar las variables publicas, y actualmente la compilacion no hace una doble pasada...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

MythomizeR

Ajá, ahora comprendo, entonces en tal no voy a tener "problema", porque soy de no usar prácticamente variables públicas dentro de las funciones, así que bien :-)

Gracias y saludos.