Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Parte 1
3. Number of Tokens: Tener artos tokens hace que para el programador sea
realmente complicado entender el código, adicionalmente entre mas grande sea
el numero de tokens es mas probable que algún método este haciendo cosas de
mas o que la clase no este haciendo lo especificado y que sea necesario subdividir
el problema.
5. Varables: Las variables hacen que el programador tenga que hacer un esfuerzo
mental muchas veces innecesario para descubrir que hace cada pieza en el
software, adicionalmente las variables tienden a cambiar, es por esto que es
necesario eliminarlas siempre que sea posible.
6. Loops: Los ciclos usualmente tienen un nivel de complejidad elevado, así que
evitarlos ayudara a los programadores a ahorrarse tiempo entendiendo el código.
b. In your own words explain the Babylonian Tower principle. What is your opinion
about it?
c. Discuss at least three of the rules listed as “Minimal use of control”. Give short
examples of Java code that exemplify the use of each rule.
No es correcto,
Es correcto,
2. Simplifying conditionals with early return. Existen partes en los condicionales
donde en vez de sobrecargar con else o if else, podemos tener returns que
hagan el trabajo que buscamos, ejemplo.
No es correcto,
Es correcto,
3. Simplifying logic of iteration with early exits (via return, continue and break
statements). Al simplificar la logica de iteración de manera rapida, es mas
sencillo leer el código y mantener un hilo lógico de lo que se esta haciendo,
ejemplo
No es correcto,
Es correcto,
Spartan programming aplica estos dos principios de forma efectiva, debido a que
Spartan mantiene cada estructura de forma minimal y modular como lo busca la
ley de Demeterand, y evade complejidades innecesarias como lo estipula el
principio KISS. Así usar Spartan programming es una buena alternativa para
mantener las buenas practicas en un equipo de software.
Parte 2
e. Make a report (it could be a table) of five type of tips reported by the
plugin. For each type of tip, report your agreement/disagreement, and
in case you don’t agree,explain your reasons.
Description Resource Path Location Type Comment
Tip: Abbreviate parameter pasajes to ps in method setPasajes Vuelo.java /aero/src/data line 107 Abbreviation Corrección aceptada, debido a que es mas que claro que al usar ps se refiere a los pasajes
Tip: Abbreviate parameter vuelos to vs in method setVuelos Aerolinea.java /aero/src/data line 27 Abbreviation Corrección aceptada, debido a que es mas que claro que al usar vs se refiere a los vuleos
Tip: Convert post-increment of numero to pre-increment Pasaje.java /aero/src/data line 12 Idiomatic Corrección no aceptada, en muchas ocasiones es necesario el post increment
Tip: Inline variable line into next statement Starter.java /aero/src/businessLogic line 18 Inlining Corrección aceptada, es innecesario el uso de la variable
Tip: Inline variable v into next statement Starter.java /aero/src/businessLogic line 19 Inlining Corrección aceptada, es innecesario el uso de la variable
Tip: Remove vacuous 'super()' invocation Aerolinea.java /aero/src/data line 10 SyntacticBaggage Corrección aceptada, el llamado a super() no esta haciendo nada
Tip: Remove vacuous 'super()' invocation Pasaje.java /aero/src/data line 10 SyntacticBaggage Corrección aceptada, el llamado a super() no esta haciendo nada
Tip: Remove vacuous 'super()' invocation Vuelo.java /aero/src/data line 18 SyntacticBaggage Corrección aceptada, el llamado a super() no esta haciendo nada
Tip: Reorder operands of - Vuelo.java /aero/src/data line 27 Idiomatic Corrección aceptada, siempre es preferible ordenar las variables a operar por orden alfabetico
Tip: Reorder operands of * Vuelo.java /aero/src/data line 25 Idiomatic Corrección aceptada, siempre es preferible operar primero numeros y luego variables
Tip: Reorder operands of * Vuelo.java /aero/src/data line 26 Idiomatic Corrección aceptada, siempre es preferible operar primero numeros y luego variables