Pregunta

Cuando usted está comenzando un personal de proyecto de programación, ¿cuál es tu primer paso?Estoy tratando de iniciar un proyecto, eso es sólo una idea en el momento.Tengo lotes de estos y me sumérgete en el código y después de un rato solo pierden por completo los intereses y / o simplemente olvidarse de el proyecto.

Cuando usted está comenzando, ¿cuál es tu primer paso?hacer el plan a cabo el proyecto?hacer un diagrama?escribir el código en un papel?¿Cómo comenzar un proyecto en una manera que usted sabe que va a tener éxito?

¿Fue útil?

Solución

La única cosa que me funciona:Crear el más pequeño posible la aplicación de lo que de algún modo se puede utilizar y, a continuación, utilizarlo.

Otros consejos

De Los 7 Hábitos de la Gente Altamente Efectiva, Hábito 2:Comenzar con el Fin En Mente.

Con cualquier proyecto que necesita un objetivo claro, un punto que se puede decir "he terminado".Un claro resultado le dará la dirección.Una vez que tienes eso, puedes empezar a planificar cómo llegar allí.El tamaño y la complejidad del proyecto determinará cuánto detalle su plan de necesidades, pero en general, usted querrá sentir su progresando en contra de su plan de forma bastante regular.

Mi siguiente paso es hacer un bosquejo de un diseño de los módulos que se necesitan y el Api entre cada módulo.Si la Api son limpias, a continuación, los módulos son, probablemente, a la derecha.Entonces yo comienzo a la aplicación de los módulos, las pruebas de como me vaya.

Me paso mucho tiempo pensando acerca de los diversos aspectos del proyecto antes incluso de tocar un teclado.

Voy a través de lo que he aprendido de la experiencia de proyectos anteriores y anótelo en diferentes categorías ('técnica', 'promoción', etc)

Proyecto Personal o no, siempre me configurar el control de código fuente.Git, Mercurial de Bazar son ejemplos de código fuente de las herramientas de control que no son intrusivas, ya que no necesita configurar un servidor maestro.Simplemente escriba un simple comando para crear el proyecto, revisar sus archivos en, comprometerse.En el futuro, cuando se lía uno de sus archivos, usted será capaz de 'deshacer'

Yo también establecer un ligero sistema de tickets para mantener un seguimiento de 1.cuestiones y 2.ideas Por "ligero" me refiero a que si el mantenimiento de dos documentos de texto con estas listas que funciona para usted, que ya es suficiente.

Espero que esto ayude.

Estoy de acuerdo con el ya dado consejos de:

  • La planificación de un mínimo de aplicación que hace algo útil como una primera versión completa.
  • Tener metas concretas acerca de lo que quieres conseguir para tener algo con que comparar su progreso con el.

También recomiendo comenzar con un diseño ligero de la general la arquitectura así que usted puede tener un hoja de ruta de cómo construir tu producto.

Me resulta difícil empezar a construir algo cuando no tengo una idea clara acerca de cómo debería ser, al menos en un primer nivel de descomposición.Pensar acerca de lo que usted necesita, además de la funcionalidad:de alto rendimiento?, la extensibilidad de los escenarios?, cuáles?, usabilidad metas?, alta escalabilidad?, facilidad de implementación y installability?, etc.Pregúntate a ti mismo:Los componentes de los que voy a tener que construir con el fin de lograr esas cualidades arquitectónicas?.

Y no me malinterpreten, yo soy un firme defensor de desarrollo de software ágil.No es necesario gastar un montón de veces el diseño de su arquitectura (porque seguramente tendrá que evolucionar a medida que construye y obtener retroalimentación acerca de lo que funciona y lo que no), pero tener un plan de cómo construir tu producto basado en su arquitectura debe ser útil para la planificación de su progreso y el establecimiento de metas realistas.

Definir el objetivo para el proyecto.Suena como que usted está buscando, casi exclusivamente, en la solución más que del problema.

Un programa no es útil para usted o cualquier otra persona a menos que se ocupa de un problema.La escritura del código para ponerse en movimiento es grande, pero parecen perder el interés y el enfoque después de inicio -- porque usted está buscando en el código, no el problema.

Pasar algún tiempo para considerar qué te llevó a escribir este código.Reflexionar cómo es que otras personas puedan descubrir la misma necesidad, ¿qué camino puede tomar a la misma frustración que trabajaron para resolver.

A continuación, encontrará algunas de esas personas y ofrecer su (parcial) de la solución, y que van a generar interés y sugerencias entre todos ellos.

QUE va a seguir adelante en su proyecto.Los compañeros de interés, el compartir, incluso los desacuerdos -- es la gente que necesita de software!No crear soluciones (software) en busca de un problema (de la gente).Comenzó con USTED, con su necesidad o deseo, sino que se centró en el código, y perdió el impulso para el proyecto.

La programación es mucho más divertido cuando estás de resolución de problemas.Pero hay que mantener el problema en frente de usted.Compartir el problema edifica la comunidad.Eso es lo que este es, realmente, sobre todo, ¿no?

Para mis propios proyectos personales acabo de buceo en el derecho.Por supuesto, ninguno de estos aún no han sido lo suficientemente grandes como para requerir ningún tipo de pre-planificación.Si esto va a ser un proyecto serio o una escala relativamente grande, siempre es una buena idea para eliminar al menos lo que cada parte del programa tiene que hacer y una visión de alto nivel de cómo van a hacerlo.

Como los demás, mis proyectos personales siempre tienen:

  • Un Objetivo Final
  • Una Lista De Tareas
  • Pequeño utilizable unidades
  • Control de código fuente

Como un adicional de motivación, trato de usar una tecnología que nunca he usado antes.Aprendiendo algo nuevo, generalmente se convierte en el mayor motivador para mí.

Fácil - no comenzar en todos los proyectos que son propensos a perder interés.Pasar más tiempo para asegurarse de que usted quiere comprometerse con una idea antes de comenzar cualquier trabajo.

Depende del proyecto - ¿qué tan grande es?

Si estoy escribiendo el siguiente Bloc de notas clon podría bucear, si yo quería rodar mi propio sistema operativo que iba a tomar mucho más de la no-codificación de trabajo.

Me gusta hacer un montón de diagramas, la herramienta que yo uso para la mayoría de desarrollo limpio A4 de papel y un lápiz.Dibujar la interfaz de usuario, flujo de trabajo, clases básicas y cómo se van a almacenar los datos - a continuación, la codificación es sólo legible por ordenador manera de escribir lo que usted dibujó ya.

Control de la fuente de archivo.g.SVN es un par de pulsaciones de teclas/clics, por lo que la sobrecarga es baja y el beneficio es alto, su mano para probar cosas y simplemente volver a un estado anterior si no funcionan.

A continuación, sólo hacer el más básico protoype que van a trabajar, una vez que algo está sucediendo realmente es mucho más fácil que se entusiasma y añadir más.Si es abrumadora voy a encontrar yo creo que el problema es resuelto en mi cabeza, y eso es suficiente.

Primer plan el esquema básico de la aplicación final.Características más importantes, básicos de la interfaz gráfica de usuario, flujo de programa, etc.Luego refinar para que no tome demasiado en primer lugar, quitar funciones innecesarias, y añadir lo que quieras en la primera versión.A continuación, utilizar ese esquema para iniciar una lista de tareas para crear la más pequeña posible versión de trabajo de la aplicación.Entonces es mucho más fácil para añadir funcionalidades extra y hacer que sea completamente funcional.

Me gusta Maximillian la respuesta..para ampliar un poco, a mi persona, se desarrollan proyectos para resolver algo que estoy trabajando ya.Así que cuando me canso de repetir el trabajo voy a un prototipo de la solución.y luego usarlo.Si Su similar de uno de mis proyectos anteriores, voy a tomar prestado el código en la medida que puedo y tratar de mejorar el nivel de mi trabajo, hacerlo más profesional.

La fusión del uso de Control de código Fuente también es importante.Toma 2 minutos para instalar SVN.

Si desea convertirlo en un público proyecto de código abierto, La Producción De Software De Código Abierto se supone para ser una buena lectura (disponible en línea y en la impresión).

Si su proyecto personal es similar a la existente en un proyecto de código abierto, usted debería considerar la posibilidad de contribuir a que el proyecto en su lugar.Un par de pequeñas contribuciones (correcciones de errores, etc.) son más valiosa que la mitad de un proyecto terminado.

Todo lo anterior, pero se empieza a consolidar el plan en su lugar.....

Ir a algunas de las herramientas de SmartSheet - incluso si usted está trabajando en su propia usted debe establecer algunas etapas y fechas yEd - y Graphity de www.yworks.com

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top