Hacer JavaDoc en C++

Iniciado por arcadio2r, 7 Abril 2011, 09:31 AM

0 Miembros y 1 Visitante están viendo este tema.

arcadio2r

Buenas;

He hecho una librería para trabajar con vectores.

vectores.h


#ifndef _vectors_H_
#define _vectors_H_

char suma(char sumatori[],int mida) {
   
    char a=0;
   
    for(int cnt=0; cnt<mida; cnt++) {
            a+=sumatori[cnt];
    }     
    return a;
}
float valor_medio(char valors[],int mida) {
   
    float a;
    a=suma(valors, mida);
    a/= (float) mida;
   
    return a;   
}

#endif




¿Está bien escrito  las funciones en el vectores.h? Es la única manera que me ha
funcionado. Ya que hacia un archivo .h con las definiciones de las funciones "char
suma(char sumatori[],int mida);", y conjuntamente un archivo .cpp con todas
las funciones escritas y me decia error el compilador "Dev-C".

¿Hay alguna manera de hacer un tipo "JavaDoc" a través del c++. En java
implementaba comentarios "@param sumatorio[] Vector que se desea introducir"
y "@return La suma de los elementos del vector de entrada". Cuando tenia la
librería terminada, generava un .html donde explicava las funciones
automaticamente. Además tenia un algun "IntelliSence" el Eclypse que
autocompletaba las funciones escritas en el programa principal y cuando abria el
parentesis para entrar las variables me decia el que havia escrito en el "@param
...".


Muchas gracias los tutoriales que teneis.

Akai

Sobre el tema del javaDoc que comentas, eso me suena a una función del entorno de desarrollo.

Si te has acostumbrado a eclipse, por qué no te instalas el plugin CDT para usar C/C++?

En principio no le veo problema a las funciones. Salvo que si las tienes ya definidas e implementadas (tu caso) en el .h, no necesitas volver a implementarlas en el .cpp  que es posiblemente lo que esté mareando al compilador, si he entendido bien el problema. ¿Podrías aportar más datos sobre los errores?

Añado un comentario: puedes tener un "pequeño" problema que tienes ahí, es que el char es 1 byte, lo cual te permite 256 valores, y las letras suelen estar por el 60 alto si no me falla la memoria.

Entonces, estás haciendo que el char pueda estar desbordando el valor en el momento que sumes 4 letras mayúsculas (o menos todavía si son minúsculas) y que cuando llegues a 127, a la siguiente iteración te encuentres con -128 o algo por el estilo.

En el caso que el char llegue hasta 255 (que no recuerdo ahora si lo hace por defecto, si lo haría siendo unsigned) no tendrías el mismo problema salvo que llegaría un momento que te saldrías del valor representable con caracteres. A menso que sea una exigencia de alguna tarea o algo por el estilo, quizá deberáis plantearte hacer el sumatorio usando enteros (se puede hacer conversión implícita de char a entero).

arcadio2r

He encontrado un pogramilla para hacer estos docs:
DoxyGen -> Tengo que estudiarlo un poco como funciona.

El Eclipse esta bien para hacer codigos de consola, pero para hacer entornos
prefiero el Visual. No se mucho de programacion, pero bueno me puedo defender
un poco.

Este char se me ha colado XD, no tenia el codigo a mano y lo he escrito
en un momento para poner el ejemplo.

Lo que me ha estrañado es que definiendo e implementando las funciones
en el .h funcionaran... pero su funcionan y se puede pues ale.

Akai

Puedes implementar y definir funciones en los .h Poder puedes. PERO cuando tienes diversas funciones y con bastante código, es engorroso y es cuando entonces dejas en el .h las declaraciones, y en el .c / .cpp / .cc las implementas. Para que sea más fácil de leer.

Como siempre se dice, poder puedes hacerlo, pero en unos casos te puede ayudar (para dos funciones cortas y un par de defines un .cpp puede sobrar) pero tal cual vas aumentando, mejor separar para una mejor lectura. Sobretodo si estás trabajando en equipo.

Añado algo más, he estado buscando un poco de información sobre lo que preguntabas de JavaDocs, parece ser que en visual studio una de las opciones que comentan es DoxyGen, como ya has dicho. (no he buscado mucho así que es posible que haya otras)