Anti - Consejos de Programación
Anti - Consejos de Programación
Anti - Consejos de Programación
Y, sobre todo...:
Aquí se presentan algunos de manera que puedan ser identificados claramente y así ser
evitados.
Se presentan con cierta exageración y sarcasmo con la finalidad de que uno se pueda dar
cuenta de lo absurdo que es no poner atención y evitar caer en esos hábitos aplicando
disciplina personal.
Explicación:
Y, por último, para entender esos mensajes hacen falta conocimientos informáticos (cosa
que no debemos cultivar, ya que en realidad todos estamos estudiando para jefes), y
encima... ¡la mayoría de las veces esos mensajes están en inglés! No caigas en la trampa.
Ignóralos.
Es más, ignorar los "warnings" le da a uno una finta de programador profesional que no
tiene miedo de las computadoras. ¿Qué mejor demostración de madurez como programador
que presentar un programa que al compilar da decenas, no, cientos de warnings, sin que su
autor se inmute? Se nota que es un programador experimentado, que no se acobarda por
nada, y que además está demasiado ocupado para perder el tiempo con tonterías.
Cuanto antes te quites de en medio este rollo de programar, mejor. Y eso, colega, sólo lo
puedes acelerar escribiendo más y más líneas.
Si el código compila, eso ya es el paraíso; nada nos impide seguir escribiendo código para
liquidar de una vez esta odiosa práctica. El que el programa no haga lo que se quería que
hiciera no es tan importante, ya lo arreglaremos más tarde, cuando esté acabado. Además,
siempre puede pasar que en un golpe de suerte los profesores cambien el enunciado de la
práctica y entonces sí que encaje con nuestro programa, así que no hay que arriesgarse a
hacer trabajo inútil arreglando un programa que va descarriado.
6. Si el código tiene un error que se produce siempre, cambia cosas aleatoriamente hasta
que desaparezca:
Ya hemos hablado en contra de pararse y pensar. Si hay un error que, por algún capricho,
quieres eliminar, simplemente prueba a escribir el mismo código de otras formas diversas.
Esto tiene la ventaja de que a lo mejor se soluciona, y además habrás conseguido que se
solucione: 1) sin entender cuál era la causa, y 2) sin dejar de escribir código. Claramente,
este es el comportamiento más profesional.
Respecto a ejecutar el programa que escribes, si intentas tener siempre un programa que
funcione parcialmente, descubrirás los errores muy pronto, y además al haber hecho pocas
modificaciones desde la última vez, te será demasiado fácil saber dónde has introducido el
nuevo error. Esto sólo lo hacen los miedicas. Un verdadero programador hace el programa
entero, y luego lo digiere entero, como una boa. Nada sustituye a la maravillosa sensación
de buscar un error que se oculta en las últimas 10.000 líneas de código que has escrito; si
sólo son 10 o 20, la cosa no tiene ciencia.
Si a pesar de todo lo utilizas, no uses breakpoints. De todos es sabido que la mejor forma de
depurar un programa es recorriendo paso a paso todo el código hasta llegar a la función que
está provocando el error; si hay que recorrer 1000 líneas de código simplemente se le da
más rápido a la tecla F7. Los breakpoints son algo esotérico, que permite que pongas a
ejecutar un programa y la ejecución se pare justo donde está el breakpoint; pero siempre
que podamos ejecutar todo desde el principio estaremos más seguros de que ha llegado a
donde queremos.
Sólo hay dos excepciones a esta regla: puedes preguntar si te has encontrado con algún
problema y no te da la gana buscarlo. Entonces, sí está justificado que acudas al profesor
para que sea él el que haga tu trabajo. Si se niega, critícale en los pasillos.
La segunda es que se puede acudir a tutorías en la semana previa a la entrega del programa.
Estará lleno de gente, el profesor se dedicará en exclusiva a atender alumnos obviando otras
tareas, y además si no te atiende podrás criticarlo en los pasillos. Cada vez que vayas,
tendrás que esperar durante horas, y eso te permitirá relacionarte con compañeros en la
cola. Todo son ventajas.
Por supuesto, escribe el mensaje de corrido y mándalo; no lo leas por segunda vez
intentando ponerte en el lugar del profesor. Eso te podría llevar a detectar errores, y no es
eso lo que se pretende.
¿Que no tienes costumbre de cometer faltas de ortografía? Es bien fácil. Puedes empezar
por el ejercicio más fácil, más frecuente y más provechoso: "Haber si me sale". Ya, ya sé;
la forma correcta es "A ver si me sale" (como diciendo "veamos si me sale"), pero ¿no
encierra una brutal poesía esa brusca contracción de dos palabras en una, esa alteración
semántica de utilizar el verbo "haber" sin significado alguno, esa hermosa palabra que
arroja simultáneamente una B y una H (las letras más peligrosas de la ortografía española) a
los ojos del lector? Si te apetece darle al profesor una bofetada y no tienes pena, escríbele
un "Haber si puedo ir mañana a tutorías", que es lo más parecido.
"Haber si..." es el número uno, pero aquí tienes otras sugerencias, todas ellas casos
rigurosamente verídicos:
Si le hes posible, mándeme...
Desarroyo
Interfac
Habro una ventana...
...va ha ser...
Las fechas de exámenes calendariadas... (esta no es de un alumno, sino de una circular
interna de una institución universitaria)
Estrayendo
Habre un fichero
Un herror léxico (esta expresión es metafísica, recursiva... no sé cómo definirla)
Gracias al echo de que... Dejando aparte este echo...
Se deshecha esta opción
Que ya estén echas
Que los valla almacenando en memoria
En caso de que no halla un fichero cargado en memoria
Fue echa de manera que
...más aya de...
...no yeva el nombre de la clase...
¿Ha qué hora es el examen...?
Yegué tarde a inscribirme...
21. No te identifiques:
El correo electrónico tiene otra cosa divertida. Puedes empezar a largar sin que el tío sepa
ni de qué grupo eres, ni quién eres. Todo se arreglará si en ese caso lo tuteas, porque así
aumenta la familiaridad y no hace falta el nombre. Mejor aún es escribir un mensaje en el
que no sepa ni de qué titulación eres. Sí, por ejemplo: "¿Cuál es la fecha de entrega para la
primera práctica? Firmado: Fefu". Si el profesor da más de una asignatura en diferentes
carreras (cosa extraordinariamente probable), será un buen ejercicio para él coger las listas
de alumnos de todas ellas y buscar algo que pueda casar con "Fefu".
Y, sobre todo...
¿Qué aliciente tendría esta profesión si los programas se construyeran sin prisa y sin pausa?
¿Qué sería de la imagen del melenudo barbudo (o melenuda barbuda) maloliente (por no
tener tiempo para afeitarse / cortarse las puntas / ducharse) con una camiseta de Megadeth
(en las camisetas jeviatas se ven menos las manchas, gracias a su color negro y a los
complejos dibujos), que lleva 48 horas ininterrumpidas dándole a la tecla? ¿Estarías acaso
preparado para ir a la Campus Party y matar monstruos en una pantalla, con el culo sobre
una silla de melamina y la cabeza bajo un techo de lona a 35ºC, durante tres días seguidos?
¿Cómo podríamos sentirnos un poquito héroes si todos los días nos vamos a dormir cuando
nos entra el sueño? ¿Qué sería de las fábricas de Cocacola, qué sería de Juan Valdés, qué
sería de las refinerías de cafeína que destinan la mitad de su producción a los
programadores? ¿Acaso Sandra Bullock o Robert Redford cuando hacían de hackers se
sentaban con sus apuntes al lado de la computadora, pensaban, tecleaban sin prisa y a la
hora habitual se iban al gimnasio o al bar de la esquina, y así un día tras otro durante cuatro
meses? ¿Acaso el tío ese de "Operación Swordfish" habría roto la clave del Pentágono si no
hubiera estado Travolta apuntándole con una pistola mientras otra cómplice del Travolta lo
distraía?
No, amigo, no. Para vivir tranquilo, te habrías matriculado en otra carrera. ¿Te imaginas ir a
clase y que cuando el tío diga "Quién tiene hecho no se qué" tú puedas decirle "yo", y que
cuando explique lo siguiente que hay que implementar tú estés atendiendo y entendiendo lo
que dice porque lo anterior ya lo tienes funcionando?
Eso es para empollones y flojos de espíritu. Ya lo sabes. Deja todo el trabajo para el final.
La sensación de ahorro de trabajo que da copiar una práctica (o parte de ella) es inigualable
y merece la pena. No importa que luego quedes en evidencia en la demostración, o en el
examen práctico, o que en el fondo no hayas aprendido lo necesario, ya que el objetivo de
las prácticas no es el aprendizaje, sino sólo la obtención de unos asquerosos créditos. Por
tanto, copia lo que puedas. Si un profesor te suspende por copiar, critícale en los pasillos.
He dicho "teóricamente" porque, por desgracia, no todos los que acuden a la Universidad
son gente como Dios manda. Los nenés deberían quedarse en casa, pero algunos no lo
hacen: se matriculan en la Universidad y luego van a clase. No se te ocurra ser como ellos.
La mayoría acabarán como profesores; Dios los cría y ellos se juntan.
Haz caso a los repetidores; ellos han estado antes aquí, y por tanto es evidente que son
quienes saben lo que hay y a ellos es a quienes debes imitar. Ir a clase es una pérdida de
tiempo. En primer lugar, está todo en los apuntes y en los libros, por lo que puedes preparar
perfectamente la asignatura sin ir a clases. Simplemente, reúnes los apuntes de la
fotocopiadora y los que otra gente toma en clase, los comparas y cotejas para que estén
completos, y una vez que tengas eso, sabrás lo que se ha dado, y entonces vas y consigues
los libros que ponen en la bibliografía, y los lees todos y entonces ya está.
En segundo lugar, de todas formas, lo que se persigue en una práctica de programación es,
y no me cansaré de repetirlo, el código, y en clase rara vez se escribe código. Un verdadero
universitario estudia así; cuando va a la facultad, es para estar en la cafetería o sentado en
los alrededores charlando con los amiguotes, con una actitud interesante y sofisticada.
Entrar en clase es como ser un borrego que entra al redil. Tú eres mucho más rebelde que
todo eso.
Encima, si algo te sale mal por culpa de la mala organización de la asignatura, ellos tendrán
el descaro de decirte que la culpa es tuya por no ir a clase, que en clase se avisó de tal o
cual cosa, que en clase se explicó no sé qué parte del enunciado, y así.
Ah, amigo; así está la Universidad que pagas con tus impuestos y luego quienes tienen la
obligación de enseñarte no lo consiguen y como excusa te salen con esas. Pero ya sabes
cuál es tu obligación como ciudadano: critícales en los pasillos.
De la programación propiamente dicha