Re: Cómo Armar Mi Programa/código Para Poder Compartirlo
Hola santijav.
Citar:
Desearía ir agregándole funcionalidades y para eso voy a probar distintos componentes (por ejemplo hacer gráficos de series de precios y demás)...
Es importante refactorizar el código antes de introducir cambios. Manejar una metodología de trabajo para hacer refactorizaciones te llevaría un buen tiempo, pero ello no quita que puedas comenzar a hacerlo tomando como guía unas pocas pautas.
Refactorizar el código es introducir modificaciones que no alteren la funcionalidad del programa. En ese sentido el resultado de la refactorización debe ser un programa con exactamente las mismas funcionalidades, pero con un código más ordenado, mejor estructurado, más fácilmente comprensible y, en consecuencia, al que se le pueden añadir nuevas características con mucha mayor facilidad y con un riesgo mucho menor de introducir errores de forma inadvertida.
A un nivel profesional la refactorización debe realizarse tomando como un apoyo fundamental las pruebas unitarias y una herramienta de gestión de código como svn, mercurial, git, etc. Sin embargo, podrías comenzar a realizar pequeñas refactorizaciones que aumenten la calidad de tu código sin tener que seguir un método tan riguroso.
Sobre esto escribiré esta semana en el libro:
Cómo programar con Gambas, porque me llevaría demasiado tiempo hacerlo aquí ahora.
Citar:
por ejemplo, tengo varios programas que por más que suba todo el código, nadie va a saber la estructura de las base de datos y por tanto no les sería de utilidad
Muchos motores de bases de datos te permiten crear un diagrama E/R o un esquema conceptual a partir de la misma base de datos. Si el que usás no tiene esas características podrías simplemente generar, también automáticamente, un script que permita recrear la base de datos (al leerlo cualquiera que conozca SQL puede entonces entender la estructura de la BD). Algunos motores de bases de datos también permiten crear información de resumen sobre la estructura de una base de datos de forma automática.
Citar:
como comentar, etc... para que lo que desarrolle pueda ser compartido y utilizado por la comunidad...
Lo más importante es que el código sea auto-explicativo, es decir, que sea fácilmente comprensible. Para ello es necesario que los nombres de las constantes, variables, rutinas, módulos, clases, etc, sean significativos, que expresen correctamente para qué se usa ese elemento o qué es lo que hace. También que no uses abreviaturas al elegir esos nombres, ya que en la mayoría de los casos impiden que la lectura del código pueda ser fluida. Además, es necesario que tu programa esté correctamente modularizado.
Los comentarios deberías utilizarlos únicamente para declarar explícitamente el propósito de cada rutina (así es posible saber, al leer el código, si lo que hace una rutina es lo que se supone que debía hacer al comparar dicho comentario con el nombre de la rutina y con su código) y para explicar alguna porción de código que implementa una parte difícil de entender de algún algoritmo.
Saludos.