, lo primero que hay que hacer .. es que funcione un programa .. despues optimizaras, cambiaras el codigo a como tu quieres entenderlo, pero uno debe ser pragmatico en los objetivos que tiene .. sobretodo cuando hay que ser cuidadoso para no re-inventar la rueda.
si no hay codigo que funcione .. no hay nada, si re-utilizas codigo .. no perdemos tiempo .. y si dedicamos tiempo .. que sea entiendo como funciona un programa en su totalidad para que funcione.
no sirve da nada partir con tu propio codigo cuando no sabes mucho .. te concentras en las errores y no en las soluciones. Aprender a leer codigo rapidamente .. es tan importante como escribirlo. Por otro lado, sino sueltas la mano programando .. y solo copias codigo .. terminas con un ejercicio de copiar-pegar en el que no sabes al final que esta pasando con el flujo de ejecucion del programa.. y peor aun si los juntas mal .. te vuelves loco buscando donde esta el error.