¿Qué consejos le puede dar a un programador principiante cuando se trata de diseñar aplicaciones?

A menos que ya tenga una gran cantidad de experiencia en una profesión determinada, como un médico, un abogado o un navegante marino, escriba un resumen fácil de entender sobre qué tipo de programa de aplicación desea crear.

Luego, encuentre a no programadores que realicen el tipo de trabajo al que se dirige su creación. Escuche con atención lo que dicen que quieren que haga un programa de aplicación de este tipo para ellos.

Incluso si tiene experiencia profesional en el trabajo al que se dirige su programa, se le recomienda que obtenga la opinión de muchos de sus compañeros de trabajo.

Usted no sabe más que la enfermera de la sala de operaciones, la cuenta de impuestos profesional o incluso la persona que ha estado conduciendo un camión durante tres décadas.

Tu trabajo es hacer la vida más fácil para ese tipo de personas, no más difícil.

Olvídate de la codificación elegante en esta etapa. Solo escuche a muchos de sus clientes potenciales, luego diseñe una interfaz que sea fácil de usar para ellos, y que sea muy fácil de personalizar para que se adapte a su situación única. Tenga en cuenta que muchas personas pueden usar el programa de aplicación, como las personas que trabajan en el quirófano de un hospital. Así, diseña tu programa para que un usuario individual pueda cargar fácilmente sus preferencias.

He aquí un ejemplo que he extraído al hablar con varias personas que pasan hasta 12 horas diarias trabajando para mantener a las personas con vida en una sala de operaciones.

Los colores elegidos para el primer plano y el fondo son muy subjetivos y dependen en gran parte de cómo las personas ven los colores y del tipo de iluminación que se utiliza en la sala de operaciones. Luego está el hecho de que aproximadamente el 10 por ciento de los hombres de herencia europea no ven el rojo y el verde muy bien.

El fondo negro con letras rojas puede ser casi invisible para ellos.

Evite la “informática” mientras habla con su público objetivo.

No les importa lo difícil que sea tu trabajo como programador. No les importa qué lenguajes de programación usas. Quieren que usted haga que sus días de trabajo o sus días de juego sean más fáciles y más productivos. Quieren una aplicación que funcione perfectamente.

Cree algunas pantallas de visualización y entrada de datos como apéndices, luego vuelva a las personas que entrevistó y obtenga sus reacciones a esas pantallas y al flujo de trabajo.

Diseña tus talones para que las personas puedan ingresar información en ellos.

Averigüe qué tipo de errores de entrada de datos pueden cometer, luego escriba el código para guardarlos de sí mismos.

Repita este proceso hasta que su audiencia le diga que encuentran que su diseño es fácil de usar y entender.

Ahora, y solo ahora, estará listo para la difícil tarea de crear realmente la salchicha que subyace en el exterior bellamente diseñado.

Finalmente, evite el “arrastre de funciones” y prepárese para que sus primeros intentos de crear un programa de aplicación sean errores espectaculares.

Tenga en cuenta que cada falla es un paso potencial hacia el éxito.

Apéndice:

Olvidé mencionar una cosa que aprendí temprano.

Sus clientes, en su mayor parte, pueden no entender que las tareas que son fáciles para los humanos pueden ser muy difíciles de resolver con un programa de computadora, y las tareas que son difíciles para los humanos a menudo son fáciles de resolver con un programa de computadora.

Cuando reúnas información de tus clientes, ten eso en cuenta.

Definitivamente estoy de acuerdo con varias de las otras respuestas aquí, especialmente las de Mohan.

Lo que voy a añadir es este – plan .

Los buenos programadores planean lo que van a hacer. No solo ponen las dos manos sobre el teclado y se van. Supongo que la mayoría de los peores códigos y diseños que he visto han sido el resultado de solo ir hasta que algo funciona. Si sigue este enfoque, espere tener un desorden desorganizado que sea difícil de soportar o extender.

Tómese el tiempo para desglosar los requisitos en pequeñas piezas de funcionalidad. Personalmente, me encanta comenzar con el UX primero, usando algunas herramientas de cableado geniales como Balsamiq. Debería obligarte a tener algo de compasión por tus usuarios y crear una interfaz que sea utilizable y que cumpla con los requisitos. Si su aplicación no tiene una interfaz de usuario … obviamente, no puede comenzar aquí …

Una vez que tenga un alámbrico básico para su aplicación, ahora puede ver cómo debe verse el diseño del servidor. Debe dividir las cosas en partes pequeñas, lo que probablemente sea el 80% de hacer un buen trabajo diseñando una aplicación. Lea sobre el principio de responsabilidad única.

No te pongas elegante. No creas que ya sabes cómo reutilizar el código de manera efectiva. Me estremezco cuando veo un método con 1000 líneas y 28 parámetros diferentes que se llama desde 25 puntos diferentes que son todos … bastante diferentes. Eventualmente, los patrones de diseño surgirán a medida que codifique … pero como principiante, sea sencillo.

Además, el desarrollo impulsado por pruebas y las pruebas unitarias realmente pueden ayudar con la planificación, ya que te obliga a pensar en lo que vas a hacer antes de hacerlo.

¡Buena suerte!

Hace algunos años, cuando era un programador de reciente creación, recibí un consejo de mi gerente: entienda el requisito, intente satisfacer las necesidades del usuario y sea ​​sencillo.

Suena bastante simple?

  • Todo lo que hace el programador es cumplir un requisito . A medida que crezca y aprenda, probablemente distinguirá entre los requisitos funcionales y no funcionales, y los diferentes aspectos de dichos requisitos en los que tendrá que centrarse.
  • Satisfacer las necesidades del usuario :
  • Muchos programadores, especialmente aquellos que trabajan con Agile / Scrum, trabajarán con los usuarios para comprender sus historias de usuario.
  • Algunos programadores pueden centrarse en los sistemas, dispositivos u otros elementos internos de un sistema operativo y pueden preguntarse qué quiero decir con “necesidades del usuario”. En tales casos, el “usuario” es el sistema / proceso / aplicación que utiliza su aplicación o programa.
  • Mantenlo simple: suena obvio, pero muchos programadores que conozco se dejan llevar. Es posible que quieran mostrar su destreza codificando de forma críptica que solo los programadores “inteligentes” como ellos entienden.
    • Si otros pueden entender su código, se le puede pedir que trabaje en otras cosas más interesantes.
    • Si usted es la única persona que entiende su código, ¿adivinen quién va a pasar mucho, mucho tiempo apoyándolo / manteniéndolo?

    Solo concéntrate en la lógica de tu programa. Agregue un poco de funciones especiales para hacer que su aplicación se vea atractiva. No termines con ingredientes especiales. Mantenlo simple para los usuarios y complejo para ti.

    Importa-

    Programa fácil de usar = 1 / complejidad para programador