Mastering ninja programmer

Este mastering es completamente lo contrario al anterior, aqui tu cerebro trabaja al 100% (me gustaria tener este perfil), asi que empecemos a describirlo:

a) Debes de hacer un analisis y diseño perfecto de los requerimientos que recibes (es lo que te deberia de llevar mas tiempo como programador).

b) Una vez terminado el punto anterior, te sientas a solamente escribir codigo, en un editor de texto sencillo (obvio, debes de conocer el api y el funcionamiento del lenguage, frameworks y similares, con que estes trabajando).

c) Al compilar, no debe de existir ningun aviso de errores.

d) Al hacer las pruebas, se deben cumplir al 100% las especificaciones.

Es muy dificil de dominar lo anterior, pero estoy convencido que es una buena practica, y va hacer tu vida de programador mas llevadera, ya que con el tiempo los errores van a casi desaparecer de tu codificacion, algunos tips para hacer esto:

a) Lee constantemente el api del lenguaje, frameworks, utilidades, etc. que estes utilizando.

b) Al escribir, aprende a usar todos tus dedos y mejora la velocidad.

c) Apunta que tipo de errores, advertencia y similares, salen al compilar tu codigo. Investiga las causas por las cuales ocurren, y las que suceden con mas frecuencia evitalas aplicando el conocimiento obtenido.

d) Consiguete una herramienta que te ayude a hacer el analisis y diseño, puede ser un modelador UML, un pizarron, un editor de graficos vectoriales, un cuaderno, lo que mas te acomode.

e) Despues de hacer las pruebas pertinentes a tu codigo, adapta el punto c y evita esos errores.

f) Hay sitios web en donde puedes conseguir ejercicios para mejorar tu logica, consiguelos y hazlos.

g) La critica constructiva que hagan tus compañeros de tu codigo, y la investigacion e implementacion de buenas practicas te ayudara a mejorar mucho.

Arigato :P

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Marce

jajajaja creo que la palabra

jajajaja creo que la palabra "Perfecto" no está en mi vocabulario y no porque no desee hacer las cosas bien, pero llegar a ese nivel en todos tus proyectos implica más que seguir los pasos que mencionas, yo creo necesitas estar aislado y muy concentrado.
A mi me pasa que cuando me concentro demasiado me saturo, realmente no puedo programar con la cabeza puesta completamente en el monitor y mis dedos al teclado, siempre me acompaña un lápiz y papel y mi buen browser, mis mejores ideas vienen cuando estoy distraída como que mi subconciente trabaja con el problema mientras me levanto a ver por la ventana o navego en internet buscando algo interesante para leer y ahí es donde salen las ideas.
Yo no sé si sea o no buena práctica, pero trabajar de esa forma me relaja bastante, cuando ya tengo la idea de lo que haré y cómo lo haré sentarme a escribir código me resulta bastante simple. Y claro no tengo el nivel Mastering Ninja Programmer, pero quién lo tiene?

Imagen de beto.bateria

Hola Marce:Solo necesitas

Hola Marce:
Solo necesitas separar un poco tus tareas, mencionas que:

me levanto a ver por la ventana o navego en internet buscando algo interesante para leer y ahí es donde salen las ideas.

Ademas mencionas que siempre te acompaña un lapiz y papel, que son las herramientas que indico en el punto d de la segunda lista, en realidad estas analizando y diseñando a tu manera. Para seguir esta metodologia solo es necesario que termines completamente esa tarea, despues de finalizarla, solo ponte a codificar, es decir escribir lo que tienes en mente o en tus apuntes.

No todas las personas trabajan igual, generalmente cuando trabajo necesito silencio, y me puedo llegar a concentrar mucho, pero es en la parte de analisis y diseño. En un empleo que tenia, me aproveche que no utilizaban un pizarron gigantesco, estaba arrumbado, lo limpie, lo instale y solamente lo usaba yo. Ahi hacia el diseño de clases y algoritmos, una vez que acababa, solo me ponia a codificar. Ahorita trabajo distinto, pero por situaciones diferentes.

No conozco personas que sean tan perfeccionistas en su trabajo como mencione, pero puede ser un objetivo, una buena meta que te propongas en el area profesional de tu vida.