2009-03-22 6 views
6

He leído muchos libros sobre Microsoft Dot Net y he aprendido muchas cosasConstruir un programa de A-> Z

  • programación orientada a objetos
  • interfaz de usuario de Windows diseñar
  • Uso SQL Server y XML
  • Depuración de una aplicación
  • uso de dominios de serialización y la aplicación
  • implementación de una aplicación de Windows
  • Seguridad y licencias

que saben cómo hacer todo eso, no perfecto y muy profundo, pero bueno. Pero mi problema es que NO PUEDO crear una aplicación. No se trata de la idea, tengo ideas.

El problema es que cada vez que empiezo, no sé cómo comenzar, dónde empezar, cómo diseñar el plan, depurar una aplicación mientras la escribes o después, cuándo implementar la seguridad, cuándo implementar y probarlo, si mi aplicación no tiene un paso, si es compatible con otros frameworks net dot, si funciona perfecto en todas las plataformas ...

Siento que me falta algo en mi aprendizaje que previene yo desde la construcción de una aplicación completa, que es segura y cuando se administra.

Me estoy perdiendo otro libro, cursos, lecciones ?? ¿O es mi problema? ¿Pueden todas las personas diseñar planes o solo se limita a otras personas? Finalmente: ¿Qué debo hacer? Continúe aprendiendo y construya una aplicación (para venderla más tarde) ¿O simplemente trabajo a tiempo parcial hasta que complete el estudio y encuentre un trabajo de tiempo completo?

+0

Prueba 'Prueba de desarrollo'. Escribe un pequeño caso de prueba. Fallará Luego complete el código suficiente para hacerlo pasar. Escriba el siguiente caso de prueba ... y así sucesivamente ... – vrdhn

+0

esa es una estrategia ¿Tiene tutoriales sobre este método? –

Respuesta

11

No empieces pensando en grande. Comience pensando en pequeño. Cuando piensas en grande, te arriesgas a intimidarte.

Cuando comienzo a cabo por pensar demasiado grande, nunca puede encontrar la derecha empezando por el lugar y yo ir en círculos interminables de pensamiento muy parecido a lo que usted está describiendo. Si puedo comenzar una tarea pequeña, realista y manejable, entonces empiezo a hacer pequeñas cantidades de progreso. Después de terminar una pieza, puedo comenzar con la siguiente. Por supuesto, luego volveré y modificaré partes anteriores, pero está bien. Al menos comencé y estoy en el camino correcto y no estoy atorado en el limbo "por dónde empiezo" perfeccionista.

¿Cómo se come un elefante? Un bocado a la vez.

[Editar] Aquí hay otra idea: tratar de escribir una sencilla pero completa aplicación todos los días durante una semana. Esto requerirá hacer cosas de hackear y usar código de spaghetti medio pensado. Pero también te obligará a enfocarte en llegar a una conclusión real y evaluar qué características son necesarias y cuáles son características únicas.

No recomendaría esto para muchas personas. Si lo haces demasiado tiempo desarrollarás hábitos atroces. Sin embargo, para su bloqueo mental personal, este ejercicio puede ayudar.

Si usted decide hacer algo como esto, por favor, puesto aquí y vamos todos sabemos cómo ha ido.

¡Buena suerte!

ps: gran pregunta.Estoy seguro de que muchas personas se enfrentan a esta misma situación, pero no quieren pedir miedo por verse mal. Sé que he condenado a muchos de mis proyectos personales por exactamente los motivos que describió

+0

ese es otro problema también. ¡Comienzo un pequeño proyecto, cada vez que construyo una característica, pienso en otra y trato de construir hasta el punto de que el proyecto es imposible de finalizar! –

+0

Dinah tiene razón. Intenta construir tu aplicación desde adentro hacia afuera. ¿Cuál es la funcionalidad principal? Compila eso primero, luego agrega la IU. Una vez que tenga una aplicación con todas las funciones en una plataforma, preocúpese por otras compilaciones, etc. ¡Buena suerte! –

+0

está bien, primero necesito construir una estrategia para trabajar en ... –

1

Lo que ha leído son partes del rompecabezas, por ejemplo, los howto. Necesitarás tener una idea clara del panorama general. ¿Por qué quieres resolver este problema? ¿Es un problema? ¿Hay alternativas, soluciones temporales? ¿Qué estoy haciendo mejor que mis competidores? Sea su crítico.

¿Me falta otro libro, cursos, lecciones? ¿O es mi problema?

Diría que eche un vistazo a los principios de la ingeniería del software, los procesos de desarrollo. Además, lea un poco sobre cómo entender los requisitos, la arquitectura y el diseño del software, etc. Siga practicando lo que aprende.

¿Pueden todas las personas diseñar planes o se limita a otras personas?

Algunas personas son mejores en eso que otras. Al igual que en cualquier otro campo.

Finalmente: ¿Qué debo hacer? Continúe aprendiendo y construya una aplicación (para venderla más tarde) ¿O simplemente trabaje medio tiempo hasta que complete el estudio y encuentre un trabajo de tiempo completo?

Seguir leyendo/escribiendo. Un trabajo seguro ayuda a ponerlo en contacto con cómo se hacen las cosas en un entorno profesional. Puede aplicar esos principios cuando trabaje en su proyecto de mascota también. Seguramente será de gran valor conseguir un trabajo en el campo del software.

3

Tratar de hacer "pequeños pasos" ...

Por ejemplo, para una libreta de direcciones, la construcción de la primera búsqueda, a continuación, el formulario de creación, entonces el formulario de actualización, y así sucesivamente. También puede refactorizar su código con frecuencia para evitar duplicidades.

A veces construyo una primera y una pequeña versión de una aplicación de esta manera, y solía construir una segunda versión limpia después de haber aprendido los errores que he cometido en V1.

2

Comience con su propia aplicación de libreta de teléfonos de pequeño propósito, algo que puede terminar en un par de días. ver un proyecto simple desde el principio hasta el final aclarará cómo proceder con algo un poco más grande, y usted subirá a la escalera.

La realización de todos los aspectos de un sistema a gran escala requerirá años de experiencia.

¡Buena suerte!

2

Trabajar en la industria definitivamente ayuda a juntar muchas piezas. Aún más útil es estar expuesto a desarrolladores más experimentados que pueden guiarlo a través del proceso.

Una cosa que realmente me ha ayudado fue desarrollar una aplicación para tomar notas simples que utilicé durante mi búsqueda de trabajo. Pude utilizar esto como base para algunos otros proyectos personales, así como también para las herramientas que uso todos los días en mi carrera profesional.

Volver al código después de un tiempo me ha permitido ver dónde podría haber hecho las cosas mejor.Después de todo, la mayor parte del código que escriba tendrá que mantenerse en algún lugar a lo largo de la línea, probablemente no por usted. Entonces, si tiene problemas para volver a su propio código y modificarlo, imagine lo que sería para otra persona. Mi enfoque hasta ahora ha sido "construir uno para tirar" en lo que respecta a las unidades de software.

Comenzar con una nueva pizarra es agradable, pero como usted está descubriendo, también puede ser abrumador. Descubrirá que a medida que avanza, es posible que desee agregar otras funciones. Resiste esta tentación! Claro, puede parecer "fácil" agregar una determinada opción, pero esto puede llevarlo a caminos oscuros y alejar su atención de sus objetivos principales.

Conocer los idiomas y las tecnologías es una cosa, pero tener un conocimiento de los principios de la ingeniería de software le proporcionará una mejor base desde la cual construir su carrera profesional.

4

Escribir lo que quiere que el software haga también ayuda mucho, normalmente esta sería su especificación funcional, pero para una pequeña aplicación bastará con escribir lo que quiere que haga.

Divida eso en pequeños "pasos de bebé" como lo menciona paulgreg, para que pueda comenzar a trabajar en ellos, sin perder de vista el panorama general.

Como Timbuck dijo, ayuda a trabajar en la industria ya que puedes aprender de los demás y dejar que hagan este edificio por ti (al principio), pero también puedes acumular más experiencia en programación, porque puedes hacer es mucho más!

BTW: Si no te gusta la idea de crear alguna "aplicación inútil", piensa en una aplicación que te gustaría tener tú mismo. Seguramente hay personas por ahí que también les encantaría tenerlo, así que puedes ir y venderlo como shareware en algún lugar ;-)

Cuestiones relacionadas