Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: Bazooka en Febrero 09, 2011, 08:02:30 pm
-
Hola esta pregunta y mas que una pregunta es un pedido de concejo es para los mas experimentados programadores.
He aprendido a programar de forma totalmente autodidactica jamas fui a ninguna facultad ni nada que se le asemeje todo fue por gusto y pasíon.
Si bien soy capaz de crear cualquier cosa en VB6 por lo conozco desde hace 6 años aprox. a veces me doy cuenta que me falta un poco de organizacion y logica.
Ahora si tengo en mente un proyecto y se claramente lo que quiero lograr pero cual es la mejor forma de crear un proyecto?
hacer un diagrama? Hay alguna utilidad para esto?
Gracias y espero sus comentarios como siempre tan valorables
-
Segun lo que me acuerdo de la facultad es lo siguiente:
Primero creas casos de USO
Segundo Creas diagramas UML
Tercero Creas Diagramas de Flujo en base a UML y USO
Cuarto Creas Pseudocódigo
Quinto Codigo de Lenguaje (Cualquiera)
y si me preguntas, yo omito los primeros 4 y me voy directo a trabajar codigo, los demas son una perdida de tiempo........
-
@wolf_kof: CONCUERDO AL 20000% CON VOS. Yo me mando a hacer el soft, 0 pre-diseño. Obviamente que mas o menos lo pienso como deberia ser, y luego lo hago como pense.
El mejor consejo que te puedo dar, es que hagas lo que vos quieras, pero hace todo bien descriptivo. Esto asume que uses notacion hungara (strHola, lngLong, etc), que uses modulos/clases para una tarea especifica cada una, que incluyas un comentario (tipo template) en cada funcion, explicando que hace, los parametros y todo eso. Porque si haces eso, cuando tengas que modificar algo, o agregar, te vas al modulo/clase y modificas.
Y lo mejor de todo, levanta un servidor SVN local, y usa el Tortoise SVN. Es util porque la mayoria de veces hago muchos cambios juntos, y por alguna de esas casualidades habia que volver al anterior, y con SVN podes elegir que version.
saludos
-
Gracias por los concejos COCO y Wolf me mando nomás entonces!! a programar se ha dicho!!!
-
Lo que dijo Wolf:
Primero creas casos de USO
Segundo Creas diagramas UML
Tercero Creas Diagramas de Flujo en base a UML y USO
Cuarto Creas Pseudocódigo
Quinto Codigo de Lenguaje (Cualquiera)
Bien los puntos y el orden.
Pero, y siempre con ganas de joder jejeje: Yo no omito los 4 primeros pasos, imposible. Lo que si hago (en todo caso) y en el mejor de los casos, es reducirlo a uno, salvo que se hagan sistemas pequeños que se pueden hacer de memoria, debe siempre hacerse un preestudio, análisis y diseño de lo que luego se programara, sino ese sistema esta destinado a no escalar y a morir pronto. Al menos los que no somos genios lo hacemos asi jajajajjaaj.
-
Se nota YvanB ......... :o pero para ser sincero no me gusta como haces las consultas sql desde modulos!!!!!!!! ;D humilde opinion.........
Pongo un punto aquí, no es la primera vez que veo este tipo de comentarios niñatos provenidos de ti wolf_kof, no se que problemas personal tengas con YvanB el cual me parece una excelente persona quien no tiene problemas con nadie en el foro, ya van mas de una vez que lo atacas con un motivo "Envidioso" diría yo, no se si tienes problemas personales o lo que fuere, este no es el lugar para descargarse, la próxima vez que veo un comentario fuera de lugar tengo que tomar medidas. asi que piensa bien antes de responder otro post.
Pero volviendo al tema!!!!!!!!!!!! naaaaaaa no es que seamos genios, lo que pasa es que yo lo hacia y me disgustaba que cuando resulta algo imprevisto...... hay que borrar y tachar y hacerlo de nuevo, por eso mejor CODIGO!!! CODIGO!!! CODIGO!!!
-
Se nota YvanB ......... :o pero para ser sincero no me gusta como haces las consultas sql desde modulos!!!!!!!! ;D humilde opinion.........
Insisto!!! jeje estoy con ganas de joder.
Mira, nunca comento sobre temas de "gustos" porque terminaría diciendo mil cosas que tampoco me gustan y eso es ocioso, y lo que das no es una "humilde opinión", porque no se opina sobre los gustos, se opina sobre algo cuestionable y los gustos no lo son, es como si quisiera decir: "no me gusta como comes el helado, es mi humilde opinión", me captas?. Yo podría decir: "a mi no me gusta como escribes", o "a mi no me gusta como reclamas", etc etc... pregunta: ¿Aporto algo? ¿Alguien sale beneficiado?, no aporto nada en absoluto y si fuera malcriado e ignorante podría responder: "a mi que chu... me importa si te gusta o no, de que me sirve saberlo", pero no lo soy y por eso no lo digo.
Cuando me digas: "no me parece practico o correcto la forma en que haces las consultas sql desde módulos" entonce si conversamos, y soltamos nuestros argumentos de porque a mi si me parece mejor y a ti no, y esto con la finalidad también de enriquecer nuestros conocimientos y alguien mas salga beneficiado, no creo que a nadie le interese saber que me gusta el "camote con sal", enfoquemonos en las argumentaciones y no en los gustos.
Cariños!!!
-
Pero volviendo al tema!!!!!!!!!!!! naaaaaaa no es que seamos genios, lo que pasa es que yo lo hacia y me disgustaba que cuando resulta algo imprevisto...... hay que borrar y tachar y hacerlo de nuevo, por eso mejor CODIGO!!! CODIGO!!! CODIGO!!!
Y sobre esta parte, siempre pasaran cosas imprevistas, pero estos imprevistos están en un rango predecible, sino lo estuvieran es que no se hizo un correcto análisis del proyecto. Me sorprende mucho que abanderes el CODIGO!!! CODIGO!!! CODIGO!!!, pero bueno si te va bien a ti de esa forma, pues perfecto para ti.
No me imagino que alguien venga con sus piedras, cemento, arena, maquinaria y personal y se ponga a construir un puente sin antes hacer un estudio, sin antes planificar, sin antes analizar todo. Que saldrán imprevistos, por supuesto, puede haber truenos, puede no llegar a tiempo el material, miles de cosas pero uno camina sobre un estudio previo que debe llevarse a cabo, el tirar código es casi una de las ultimas etapas de desarrollo de sistemas.
Si volvemos al tema del amigo MIKE, veras que el pregunta sobre ¿Cual es la mejor forma de crear un proyecto? y recomendarle que se mande con el codigo directamente no me parece correcto, y aqui te pongo pirateado el significado de proyecto en su versión simplificada:
"Un proyecto es una planificación que consiste en un conjunto de actividades que se encuentran interrelacionadas y coordinadas; la razón de un proyecto es alcanzar objetivos específicos dentro de los límites que imponen un presupuesto, calidades establecidas previamente y un lapso de tiempo previamente definidos".
Si te dan un trabajo y al pucho te sientas a escribir código y en el camino vas armando todo, es que no tienes en manos un proyecto con cierto grado de importancia.
Es cierto, yo también me salteo ciertas practicas que deberían realizarse antes de tirar código, pero me salteo porque (quizá como tu) la experiencia me ayuda a ver de un tiron por donde debo ir en esa parte del proyecto (no todo el proyecto), pero igual y con todo SIEMPRE realizo previamente el diseño de todo el sistema, quiza los detallitos los veo netamente en código, detallitos como poner mis consultas SQL en módulos, y sobre ese punto lo hago así porque para mi es mas ordenado y lo puedo demostrar.
Mas cariños.
-
Muchas gracias amigo! muy interesante tu aporte y además muy sensato.
-
Leer comentario (http://www.leandroascierto.com.ar/foro/index.php?topic=706.msg3569#msg3569)
-
Como decian los profesores, como puedes construir un edifio sin planos, logicamente si tienes experiencia lo vas a lograr pero te tomara mas tiempo y efectivamente antes no se utilizaba eso y se programaba asi nada mas.
La parte que mencionan sobre utilizar UML es mas que nada para documentar el sistema, ver la problematica entre otras cosas, tambien por si te dan un proyecto avanzado y sin documentar seria muy dificil saber en que parte de desarrollo se encuentra(ciclo de vida), tambien para interactuar con el cliente y sus empleados mostrandole mediante diagramas como funcionara el software y ellos mismo pueden entender e indicar que falta y que sobra, tambien si te dan un proyecto terminado y documentado para agregar mas funcionalidades bastara con agregar mas dibujitos al diagrama y el cliente sabra si es lo que necesita o no en lugar de ir revisando el codigo con simples dibujitos vez como trabaja su sistema, se olvidaron mencionar el diagrama de gantt para ver el cronograma de actividades para medir el tiempo de desarrollo del software y si se estan cumpliento los tiempos.
Mas que nada esto del UML debe utilizarse en proyectos medianos o grandes, te dejo la especie de silabus que tenia que seguir cuando era estudiante, si te interesa tambien puedes leer sobre el ciclo de vida o ciclo de desarrollo del software no el nombre exacto.
La idea es saber exactamente la problematica o requerimietos del cliente osea hacer un buen analisis para evitar eso de programar y reprogramar aunque al final siempre sucedera, por otro lado antes se utilizaban los Diagrama de Flujo de Datos(DFD'S) pero luego llego el UML que vendria a ser lo mismo pero expresado de otra manera y mas completo.
http://www.megaupload.com/?d=LCMEBGX6 (http://www.megaupload.com/?d=LCMEBGX6)
-
Muchas gracias! FX700 buenisimo tu aporte ahora veo el .doc
-
Lea, no mal interpretes las cosas!!! yo no tengo ningún problema con YvanB, el me enseño a utilizar FirebirdSQL y nos llevamos muy bien!!! eso lo dije por el hambito de hacerle un comentario a YvanB no por que tenga envidia o algo asi!!! ya que trabajamos completamente distinto....... no se si el tendra algún problema conmigo pero yo la verdad lo admiro como programador, lo unico es que me resulta grande el codigo que el hace!!! y eso se lo hice ver!!!! no es por molestar!!!
-
Lea, no mal interpretes las cosas!!! yo no tengo ningún problema con YvanB, el me enseño a utilizar FirebirdSQL y nos llevamos muy bien!!! eso lo dije por el hambito de hacerle un comentario a YvanB no por que tenga envidia o algo asi!!! ya que trabajamos completamente distinto....... no se si el tendra algún problema conmigo pero yo la verdad lo admiro como programador, lo unico es que me resulta grande el codigo que el hace!!! y eso se lo hice ver!!!! no es por molestar!!!
- Mi estimado, no tengo ningún problema con nadie, solo revisa quien es el que primero lanza los dardos.
- Que trabajemos completamente distinto no hace mi forma de hacerlo ni mejor ni peor que tu forma. La excelente mas bien seria exponer ambas y que la gente tome lo mejor y deseche lo peor.
- Dices que me hiciste ver que mi código te resulta grande ¿donde?¿cuando?¿como? mmm, ¿de que código hablamos? Alguna vez te mostre por teamviewer un cachito de lo que hago pero no puedes extraer de allí esa conclusión. Te doy un dato, por el mercado en el que estoy yo valido cientos de cosas y por eso puede resultar en codigo grande, pero ese codigo grande tiene una finalidad, una justificación y obedece a mi regla de negocios.
- Lo que nos has hecho ver son tus gustos, haces ver cuando alguien no te cae (http://www.leandroascierto.com.ar/foro/index.php?topic=582.msg2925#msg2925), y cuando prejuzgas (http://www.leandroascierto.com.ar/foro/index.php?topic=280.msg1644#msg1644) sin contar todo el tema aburrido de la re-putación y si te das cuenta nada de eso aporta ABSOLUTAMENTE NADA y ambos perdemos el tiempo, en todo caso sacas lo peor de mi porque soy muy contestatario cuando alguien se refiere a mi (problema mio).
Asi que, con el mayor gusto, dejemos toda esta chicharra de lado, que tu también has aportado mucho y tienes mucho que ofrecer aun y me has ayudado también y ambos hemos reconocido eso públicamente, vayámonos por esa linea, cualquier otro tema lo vemos a la salida noooo jajajjaa mentira, nada solo mándame un mp diciendo: "oe won, esa vaina que has hecho esta fea etc etc o no me gusta" y queda entre amigos y por acá me dirás "tu código no es muy eficaz, te sugiero esto:......" y si me lo demuestras te lo agradeceré PÚBLICAMENTE (como el caso de rs!campo) y sino me lo demuestras te rectificaré.
Y para empezar yo publicaré en otro post (http://www.leandroascierto.com.ar/foro/index.php?topic=720.0) porqué pongo mis consultas SQL en módulos, y si alguien tiene una forma mejor le agradecería lo comente, pero ahora no porque esta que jode un cliente (ellos son los únicos con derecho a perder la razón, nosotros no jejejej) y voy a ir a explicarle seguro que prenda el router, que corrija la fecha de su windows, u otra cojudes similar).
1000 besos y cortemos el tema alli.
-
;) :D ok YvanB, te lo agradesco y a la salida nos vemos >:(!!!! na son bromas tambien
-
Pues a decir verdad yo considero que hay buenos programadores acá, con dificultades, como todos; pero con excelentes ideas puesto que gracias a eso tenemos excelentes productos que poco a poco llevamos de la mano camino al exito..! Leandro Ascierto es un señor en la programación, llevamos años insistiendole que desarrolle un software para que lo distribuya y haga dinero, pero bueno el determinara el tiempo justo y necesario para ser empresario del Desarrollo de Aplicativos Empresariales; el CoCo otro gran maestro, SKL aunque a la gata poco se le ve pero es muy bueno, Cobein pues sin duda un Master en el VB, ASM y quien sabe cuantos lenguajes más conoce, Wolf, YVan, en fin...! Nuestra intención muchachones es distribuir en el foro nuestros aportes, dar lo mejor de cada uno, hacer criticas constructivas y como siempre APOYARNOS COMO FAMILIA...!
Saludos a todos..! Y dejen la pelea o los reporto a la Dirección.. Jajaja...!
-
HOLA!!!
Disculpen que revivo el tema, solo quiero aportar una cosa mas que me sirve mucho a mi cuando programo y creo que al que lea el tema le van a servir tambien.
Aparte de todo lo que te dicen a mi lo que me rinde mucho a la hora de programar es primero hacer el cascaron del programa y despues darle vida, luego vestirlo y enseñarle a resolver errores :P.
Que quiero decir...
Muchas veces lo primero que hago es hacer la interaz grafica entera del programa antes de programar una sola linea, poniendo nombres descriptivos y comentarios talves.
Cuando tengo todos los formularios hechos, agrego un Modulo bas que se llama Procesos_y_Funciones.bas en el cual pongo todas las funciones que uso en el proyecto asi las generalizo y puedo llamarlas desde cualquier sitio.
Agrego otro modulo bas con el nombre de Variables.bas y ahi dentro ubico las variables de uso general para que el programa funcione.
Una vez hecho esto me pongo a programar de la siguiente manera:
1 Empiezo con los forms de ABM (Alta baja y modificacion) todos con funciones generalizadas asi puedo reutilizar el codigo para otros forms.
2 Reportes varios, aca me pongo a hacer los reportes de impresion y consultas.
3 Formularios Especificos, aca programo los formularios con acciones especificas, como por ejemplo un backup, conneciones de red o acceso a internet y actualizaciones.
4 Cuando ya tengo todos los forms funcionando me pongo a rediseñar la interfaz (que al principio siempre es rustica) y a ponerla linda.
5 Comienzo el testeo y optimizacion de algoritmos.
6 Hago ErrorHandling Asi queda un soft para idiotas.
7 Le doy el programa a una persona que no sabe mucho de pcs para que lo pruebe y asi se que esta habilitado para que cualquier persona lo use.
8 Logo, Iconos, Splash Screen y Acerca de.
9 Ayuda nunca hice ni hare por que es lo peor del mundo.
10 Descanzar hasta que el cliente caiga con un bug que no vi yo.
GRACIAS POR LEER!!!
-
Y lo mejor de todo, levanta un servidor SVN local, y usa el Tortoise SVN. Es util porque la mayoria de veces hago muchos cambios juntos, y por alguna de esas casualidades habia que volver al anterior, y con SVN podes elegir que version.
Me sirvió algo de la discusión, gracias coco no sabia de ese programa.
Ahora al post de Miguel, yo por lo general si un cliente me pide un soft. le pido que me prepare una planilla de como quiero o como es el movimiento de su empresa. Por lo general ya tengo todo luego los formularios de alta entonces adapto ese formulario al proyecto nuevo y cada 2 día o mas dependiendo de la dificulta del proyecto le llevo una muestra al cliente entonces el me dice que le falta que le sobra y todas esas cosas y así voy adaptando el programa a su necesidad.
-
@79137913:
No concuerdo con el tema de usar variables globales... realmente, me toco entrar en una empresa donde usan esa metodologia... y es muy dificil de trackear de donde vienen los valores, o donde se inician, desinicializan, etc, etc...
-
@79137913:
No concuerdo con el tema de usar variables globales... realmente, me toco entrar en una empresa donde usan esa metodologia... y es muy dificil de trackear de donde vienen los valores, o donde se inician, desinicializan, etc, etc...
Cierto, por eso solo usaria constantes globables y variables SUMAMENTE globales o funciones publicas que de un simple acceso a las variables privadas (que serian las publicas) y si no estan inicializadas, setearles algun valor. EJ: Handle de un cursor de "mano" tipo para URL o botones especiales
-
HOLA!!!
@coco&r338:
Si, es cierto que se complica al buscar de donde se toco la ultima vez, pero la mayoria de las veces un formulario o proceso (UNICO) lo uso para modificar la variable y el resto solo la leen.
En cuanto a las constantes...
A no ser que sea una constante ABSOLUTA tipo Pi o e o cualquier numero de esos...
No me gusta declararlas prefiero levantarlas de un archivo tipo ini con una funcion solo lectura por que si no son constantes absolutas y es una constante tipo mmm... IP del servidor que suponiendo que tenga ip fijo podria ir de constante pero no lo recomendaria por si en algun momento se corre y asi no hay que tocar el codigo de fuente.
GRACIAS POR LEER!!!