Code Monkey home page Code Monkey logo

sudoku-pure-java-implementation's Introduction

Profile

  curl -v https://who.is/yves-mendes-galvao
  # HTTP/1.1 200 OK
  {
    "name": "Yves Mendes Galvão",
    "company": "Livelo",
    "email": "[email protected]",
    "linkedin": "www.linkedin.com/in/yvesgalvao",
    "graduations": [
        {
          "title": "Doctorate Student - Computer Enginering",
          "university": "Universidade de Pernambuco"
        },
        {
          "title": "Master degree - Computer Enginering",
          "university": "Universidade de Pernambuco"
        },        
        {
          "title": "Specialist degree - Software Enginering",
          "university": "Universidade de Pernambuco"
        },       
        {
          "title": "Bachelor degree - Information Systems",
          "university": "Faculdade Santa Maria"
        }         
     ],
    "certifications": [
        {
          "title": "Oracle Certified Master, Java EE 6 Enterprise Architect",
          "emitter": "Oracle"
        },
        {
          "title": "Certified SOA Architect",
          "emitter": "Arcitura"
        },        
        {
          "title": "PSM II - Professional Scrum Master II",
          "emitter": "Scrum.org"
        }, 
        {
          "title": "PSM I - Professional Scrum Master I",
          "emitter": "Scrum.org"
        },       
        {
          "title": "Oracle Certified Associate, Java SE 7 Programmer",
          "emitter": "Oracle"
        },
        {
          "title": "Oracle Certified Expert, Java EE 6 Web Services Developer",
          "emitter": "Oracle"
        },
        {
          "title": "Oracle Certified Expert - Java EE 6 Enterprise JavaBeans Developer",
          "emitter": "Oracle"
        },        
        {
          "title": "Oracle Certified Expert, Java EE 6 Java Persistence API Developer",
          "emitter": "Oracle"
        },       
        {
          "title": "Oracle Certified Expert, Java EE 6 Web Component Developer",
          "emitter": "Oracle"
        },
        {
          "title": "Oracle Certified Professional - Java SE 6 Programmer",
          "emitter": "Oracle"
        },       
        {
          "title": "SOA Certified Professional",
          "emitter": "Arcitura"
        }          
    ]
  }

sudoku-pure-java-implementation's People

Contributors

dependabot[bot] avatar yvesmendes avatar

Stargazers

 avatar

Watchers

 avatar

sudoku-pure-java-implementation's Issues

Principio de responsabilidad única

En el paquete br.poli.model, en la clase Board se están mezclando dos responsabilidades para la clase, para ello, se debería separar las validaciones y los métodos propios de Board en dos clases diferentes.
image
image

Principio de Segregación de interfaces (ISP)

Detalle: En la interface SudokuFacade encontré algunos métodos que pueden ser segregados a otra interface para cumplir con el principio SOLID (ISP) Principio de Segregación de interfaces.
image

Mi propuesta es separar las interfaces con los métodos que tienen relación para que el código este mas modulado
image

La nueva interface seria esta:
//interface nueva
public interface SudokuFacadeGame {

void init();

void solveGame() throws UnsolvedException;

boolean endGame();

boolean isWin();

}

Principio inversión de dependencia

Detalle: En la clase Game se esta creando el objeto Game y trabajando con él, se está violando el principio que nos dice que los módulos no deben crear los objetos con los que trabajan.

image

image

En SudokuFacadeImpl se instancia el objeto Game, y se envía los objetos para que esa clase la utilice.

image

Principio Open Close

Detalle: En el código algunas clases utilizan score, dándole una responsabilidad mas a la clases
image

mi propuesta es crear una clase para que se maneje el score, si llegara a darse el caso de un requerimiento , donde se necesita aumentar el score con bonos extras se podría trabajar sin afectar a otras clases.
image
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.