Git Product home page Git Product logo

abchessbot's Introduction

About me

I am a Full Stack Developer from Finland.

  • 🔭 Working as a Software Developer
  • ✨ Intrested in tech, finance and nature
  • 🎲 Like to play board games, chess and computer games

Stats

stats

Languages

JavaScript TypeScript NodeJS Java Ruby CSS3 HTML5 Markdown

Frameworks and Libraries

React jQuery Rails Jest GraphQL Docker

Infrastructure

DigitalOcean AWS Heroku GitHub Actions

Data persistance

PostgreSQL SQLite

Project Management and Documentation

Figma Jira

abchessbot's People

Contributors

lahdeero avatar

Watchers

 avatar

abchessbot's Issues

Koodikatselmointi

Projektin sekä testien ajo sujui ongelmitta, tosin käyttömukavuuden kannalta olisi ollut mukavaa, jos shakkibottia vastaan olisi mahdollista pelata ilman ohjelman uudelleenajamista jokaisella vuorolla. Lisäksi ainakin demotilaisuudessa olisi kiva nähdä botin pelaavan itseään vastaan. Tähän määrittelydokumentissa mainittu graafinen käyttöliittymä olisi oikein sopiva.

Koodi on yleisesti aika selkeää, ja suurimmasta osasta luokista löytyy myös JavaDocit. Testikattavuus on paikoitellen hieman matala, mutta vakavia puutteita ei näyttäisi olevan.

Ensi viikon demotilaisuudessa jonkinlainen suorituskyky- ja/tai pelitaitovertailu olisi myös mukava nähdä. Lisäksi esimerkiksi suorituskyvystä voisi olla jonkinlainen tarkempi analyysi, josta selviäisi, mitkä osat algoritmia vievät eniten aikaa, ja missä määrin algoritmin teoreettinen aikavaatimus näkyy käytännössä.

Koodikatselmointi 2

Kloonattu to 13.6.2019 klo 16.22

Projekti on laaja ja sen rakenne on hyvä ja siisti. Hakemistoja on käytetty monipuolisesti ja testit ovat omassa hakemistossaan siististi ja myös sisäinen jaottelu on toteutettu siististi ja alihakemistoja on käytetty runsaasti. Pakkauksen abcb nimentä ei ole (ainakaan itselle) kovin kuvaava ja sitä ehkä voisi miettiä.

Metodit ja muuttujat on nimetty selkästi ja kuvaavasti. Javadocit ovat selkeitä ja niistä saa hyvän käsityksen toiminnoista. Vaikka esimerkiksi Minimax.java luokassa ei ole (vielä?) javadoceja, kuvaavista muuttujien/metodien nimistä saa jo hyvin selvää tarkoituksesta. Silti ainakin pisimpiin metodeihin olisi hyvä lisätä javadocit lisäselvennykseksi. Koodi on kaikkiaan hyvää ja se on jaoteltu hyvin metodeihin ja sitä on selkeää lukea. Metodit ovat lähes kaikki sopivan pituisia. Alphabeta metodi on melko pitkä, mutta voi olla, että sitä on luonteensa vuoksi vaikea jaotellakaan lyhyemmiksi.

Yksikkötestit ajoin komentoriviltä ja ne menivät läpi. Testausdokumenttiin tulee varmastikin vielä lisää asiaa. Sovelluksen graafinen ilme on hieno ja sinänsä käyttöliittymä on niin selkeä, etten tarvinnut ihmeempää käyttöohjetta. Nappi, josta pääsisi palaamaan valikkoon olisi mahdollisesti pelaajan kannata hyvinkin kätevä.

Kun latasin projektin, jouduin muuttamaan openings2.txt tiedoston nimen openings.txt nimiseksi, jotta peli aukesi. Tekoäly toimi hienosti ja onnistui voittamaan minut (joka ei tosin ole varmaan kovin vaikea), mutta siirrot olivat hyviä. Kun pelissä tuli shakkimatti, siitä ei tosin tullut ilmoitusta näytölle, mutten voinut myöskään liikuttaa enää mitään nappia. Katsojaroolissa peli ilmoitti lopussa shakkimatista pelinäytölle. Tekoäly vaikuttaa tehokkaalta ja on myös nopea. Suorituskykytestejä ei ollut tästä vielä nähtävissä, mutta ne ovat mitä luultavimmin tekeillä vielä. Pelin toiminnot ja sallitut siirrot vaikuttavat toimivan oikein.

Kaiken kaikkiaan huolellisesti ja hyvin rakennettu työ. Hyvin laaja, hieno projekti!

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.