Академический Документы
Профессиональный Документы
Культура Документы
Cmo escribir clases de una forma que sean fcilmente comprensible, fcil de mantener y reutilizable
4.0
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Cambios en el software
El software no es como una novela que se escribe una vez y luego se mantiene sin cambios. Software se extiende, corregir, mantener, adaptadas, adaptado ... El trabajo es realizado por personas diferentes en el tiempo (a menudo dcadas).
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Cambiar o morir
Slo hay dos opciones para el software:
O bien se mantiene continuamente o se muere.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Mundial de Zuul
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Un ejemplo
Agregue dos nuevas direcciones para el 'World of Zuul':
hasta abajo
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Cdigo calidad
Dos conceptos importantes para la calidad del cdigo:
Enganche Cohesin
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Enganche
El acoplamiento se refiere a los vnculos entre las unidades separadas de un programa. Si hay dos clases dependen en gran medida muchos detalles de la otra, decimos que son estrechamente unida. Nuestro objetivo para acoplamiento flexible.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Acoplamiento flexible
El acoplamiento flexible hace posible:
entender una clase sin haber ledo los otros; cambiar una clase sin afectar a los dems. Por lo tanto: mejora la mantenibilidad.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
Cohesin
Cohesin se refiere al nmero y la diversidad de las tareas que una sola unidad es responsable. Si cada unidad es responsable de una tarea lgica nica, es decir que tiene alta cohesin. Cohesin se aplica a las clases y mtodos. Nuestro objetivo para la cohesin alta.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
10
La cohesin alta
Cohesin alta hace que sea ms fcil:
entender lo que una clase o mtodo hace; utilizar nombres descriptivos; reutilizar clases o mtodos.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
11
Cohesin de mtodos
Un mtodo debe ser responsable de una y slo una tarea bien definida.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
12
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
13
Cdigo de duplicacin
Cdigo de duplicacin
es un indicador de mal diseo, hace ms difcil el mantenimiento, puede conducir a la introduccin de errores durante el mantenimiento.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
14
15
Localizacin de cambio
Uno de los objetivos de reducir el acoplamiento y el diseo de responsabilidad impulsado es localizar el cambio. Cuando se necesita un cambio, ya que algunas clases como sea posible deberan verse afectadas.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
16
Pensando en el futuro
En el diseo de una clase, tratamos de pensar qu cambios podran hacerse en el futuro. Nuestro objetivo es hacer los cambios fcilmente.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
17
Refactoring
Cuando las clases se mantienen, a menudo se agrega cdigo. Las clases y los mtodos tienden a ser ms largos. De vez en cuando, clases y mtodos deben ser refactorizado para mantener la cohesin y bajo acoplamiento.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
18
Refactoring y pruebas
Cuando el cdigo de refactorizacin, separe la refactorizacin de hacer otros cambios. En primer lugar hacer la refactorizacin slo, sin cambiar la funcionalidad. Pon a prueba antes y despus de la refactorizacin para asegurarse de que nada se haba roto.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
19
Cuestiones de diseo
Preguntas comunes:
Cunto tiempo debe ser una clase? Cunto tiempo debe ser un mtodo?
20
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
21
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
22
enumerado, por ejemplo, CommandWord.HELP. Objetos enumerados no se crean directamente por el programador.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
23
Revise
Los programas estn continuamente cambiado. Es importante hacer este cambio posible. Calidad de cdigo requiere mucho ms que correcto desempeo de una vez. El cdigo debe ser comprensible y mantenible.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling
24
Revise
Cdigo de buena calidad evita la duplicacin, muestra alta cohesin, bajo acoplamiento. Estilo de codificacin (comentando, denominacin, presentacin, etc) es tambin importante. Hay una gran diferencia en la cantidad de trabajo necesario para cambiar el cdigo mal estructurado y 25 bien estructurado.
Primeros objetos con Java - Una introduccin prctica usando BlueJ, David J. Barnes, Michael Klling