Tarkoituksena on luoda sovellus jolla voi piirtää verkkoja helposti ja erityisesti visualisoida jo tekstimuodossa olevia verkkoja mahdollisimman yleiskatsauksellisesti.
otm-harjoitustyo's Introduction
otm-harjoitustyo's People
otm-harjoitustyo's Issues
Koodikatselmointi
Projekti on ladattu 26.4. noin klo 10.
Koodikatselmointi
Ohjelman ladattuani ja käännettyäni avautui pelkistetty ja selkeä käyttöliittymä.
Käyttölittymä on intuitiivinen, eikä tarvitse käyttöohjetta tuekseen, etenkin kun ohjelman antamat ohjeet ovat selkeitä. Käyttöliittymässä jää kaipaamaan kahta asiaa: virheviestejä ja uuden verkon luomis/ikkunan tyhjennys -nappia. Ohjelman ainoa virheviesti tulee, mikäli yrittää luoda samannimistä solmua kuin jokin olemassaolevista. Uuden kaaren piirtäminen samojen solmujen välille näyttää onnistuvan, samoin kuin vääränmuotoisen tiedoston avaaminen.
Koodin laatu
Koodi on hyvin dokumentoitua sekä kirjoitettu lyhyesti ja ytimekkäästi. Kommenttien ansiosta koodi on kuitenkin helppolukuista. Käyttöliittymäkoodikin on hyvin verboosia ja siten helppolukuista. Koodi on jaettu pieniin itsenäisiin osiin, jotka hoitavat oman tehtävänsä. Vektoreiden käsittely näytti erittäin helpolta ja vaivattomalta, etenkin kun itsellä olisi mennyt sormi suuhun niiden kanssa.
Parannusehdotuksia
- Kuten jo aikaisemmin mainittu, ohjelma kaipaisi virheilmoituksia, jotka oletettavasti ovat tulossa.
- Tallennustoiminnallisuus on ilmeisesti tulossa.
- Solmujen uudelleen nimeäminen olisi toivottavaa.
- Kaarien nimeämisellä verkosta saisi yksinkertaisen käsitekartan.
- Ohjelmaa voisi laajentaa lisäämällä kaarille painoja, mutta tämä menee ohi alkuperäisestä visualisoijasta.
Koodissa on toiminnallisuus solmujen poistamiselle kaaren poistamisen yhteydessä mikäli solmulla ei ole yhtään kaarta (Graph.java 110, 111 ja 145). Solmut poistetaan verkosta, mutta jäävät edelleen näytöllä näkyvään verkkoon. Tällä saattaa olla vaikutusta tallennuksen toimintaan, kun se toteutetaan.
Testaus
Testejä on vähäinen määrä, ne testaavat kuitenkin hyvin ohjelman avaintoiminnallisuuksia. Seuraavaksi lisäisin kaarien ja solmujen poistamista testaavat testit.
Loppusanat
Neljä viidestä vaatimusmäärittelyn toiminnallisuudesta on jo tässä vaiheessa täytetty, joten viimeisenkään toteuttaminen tuskin on mikään ongelma. Ohjelma oli todella helppokäyttöinen ja koodi esimerkillisen selkeää, ei voi olla muuta kuin kateellinen.
Tsemppiä loppukurssille
Tuomas
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.