Skip to content

Replace Type Code with Class #15

Description

@kelvin10457

Clase: Board

Método(s): move(), checkCollision(), locateApple(), initGame()

Descripción del problema: Las coordenadas de todos los segmentos de la serpiente y de la manzana se almacenan como dos arreglos de primitivos paralelos (int[] x e int[] y), en lugar de una abstracción de dominio como un objeto Point o Segment. Esto es la definición textual de Primitive Obsession: usar tipos primitivos donde un objeto pequeño sería más expresivo. Los arreglos deben mantenerse siempre sincronizados entre sí; si un método actualiza x[z] pero olvida y[z], la serpiente se corrompe silenciosamente. Además, calcular la posición de la manzana devuelve dos int sueltos (apple_x, apple_y) que no tienen relación de tipo con las coordenadas de la serpiente, aunque conceptualmente representan lo mismo.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions