udg-propro-spring-2020 / projecte-2020-a3

projecte-2020-a3 created by GitHub Classroom
0 stars 1 forks source link

Millora de les classes #5

Closed DavidNagisa333 closed 4 years ago

DavidNagisa333 commented 4 years ago

Bones nois,

he creat una carpeta old on he guardat els primers dissenys de les classes per no perdre'n les descripcions. He penjat un conjunt de classes amb funcions implementades i un codi mitjanament funcional. Com vam dir treballarem en anglés exceptuant els comentaris que faig entre linies per aclarir dubtes. Per provar el joc executem ChessJSONParser. S'ha reutilitzat part del codi de les dames per llegir i realitzar el moviment, ara bé, he estat pensant el la funció checkMovement. Aquesta ha de validar si la jugada es possible o no i pel que sembla es bastant complexa. Actualment he validat alguna cosa petita (pero falta acabar de ajustar-ho ja que ara mateix per moure't be has de moure les peces superiors). Entre altres coses hem de comprobar la direcció de la peça, si te el moviment, si es permés en aquella jugada, la invulnerabilitat, capturar saltant... Es a dir que serà bastant de codi. Per no tenir una funció enorme farem petites funcions booleanes que ens vagin comprobant a la classe Chess (sera una classe força gran).

Primer ens centrem en fer un codi funcional per treballar amb ell i mes endevant ens fixem en la eficiencia i com podem anar retocant, com ho veieu?

miquelbofill commented 4 years ago

@DavidNagisa333 @joanplaja @miqueldedo recordeu que a part de pujar el codi, cada setmana heu d'obrir (o continuar) un issue cadascú per comentar què heu fet durant la setmana, i quina part us proposeu fer de cara a la setmana vinent (veure missatge del 23 de març al fil COVID-19 del fòrum de l'assignatura). Penseu a posar qui és l'autor de cada classe en forma de comentari en el codi.

miqueldedo commented 4 years ago

Si la classe l'hem fet entre dues persones, posem els dos com a autors?

miquelbofill commented 4 years ago

Poseu tan sols l'autor principal. Heu d'evitar implementar cap classe entre dos.

miqueldedo commented 4 years ago

Sobre el que hem d'anar fent cada setmana, des del nostre punt de vista, ens ajudaria que se'ns dongués més feedback sobre el que s'està fent, ja que sinó ens és molt complicat plantejar com encarar el projecte cada setmana.

miquelbofill commented 4 years ago

@miqueldedo és difícil donar més feedback. La primera setmana de confinament vaig dedicar 25 hores a aquesta assignatura, i la segona setmana 30 hores. No pretenc pas explicar-vos en què consisteix la vida d'un investigador que a més ha de fer de professor, però és fàcil adonar-se que aquest és massa temps dedicat a la docència. Amb el vostre grup hem interactuat per correu, GitHub i videotrucades (una d'una hora la setmana passada, i una de mitja hora amb en @joanplaja fa tot just uns minuts). Només has de multiplicar per 18 grups, i et faràs a la idea. I això és només una assignatura. Ja sé que la situació no és fàcil, i que vosaltres també treballeu molt. Però no podeu pretendre que em miri amb lupa el codi de tothom. O almenys, que ho faci gaire sovint.

Per tant, el que convindria és que un cop per setmana obríssiu un issue cadascú indicant clarament què heu fet/què voleu que em miri (quan pugui), i digueu també com preteneu continuar.

miqueldedo commented 4 years ago

Cap problema, anirem fent.

miquelbofill commented 4 years ago

Sobre la classe Chess: en lloc de ArrayList<String> initPositions millor guardar ArrayList<Position> initPositions. Això lliga amb el que he comentat a l'issue #7. Aquí podeu declarar ArrayList en lloc de List perquè és un detall privat (tot i que també podríeu declarar List). Però convé utilitzar Position en lloc de String.

Hi ha parts del codi que m'abstindré de comentar perquè no estan documentades, com per exemple la funció diferentOwnerPiece.

miquelbofill commented 4 years ago

Després de mirar el codi he posat alguns comentaris en els altres issues. Si voleu que em miri amb lupa alguna cosa en particular feu-m'ho saber. Sinó, tanquem aquest issue.