Code review för Jens LinkedList och BinarySearchTree
|
——- LINKED LIST ——– I konstruktorn för LinkedList sätts inte m_root till nullptr. Koden fungerar ändå som det ska, men att ha satt m_root till nullptr manuellt hade bidragit till mer tydlighet (enligt mig). LinkedList printar saker i konsollen genom vissa metoder resulterar i olika saker. Eftersom klassen inte innefattar jättemycket kod känns det onödigt, till skillnad från lite större program. När LinkedList användes blev det störande när den printade ut grejer på konsolen när jag själv printade egna grejer på konsolen. Metoden ‘Find’ printar ut ”ERROR:[…]” när värden inte hittas. Att ett värde inte hittas kan ibland vara precis det man vill, istället för att det räknas som ett ”ERROR”. Det hade räckt med att bara returnera ‘false’. Dessutom underlättar det att inte behöva bry sig om att printa ut grejer när det inte riktgt hör till uppgiften. Man kan fokusera på de faktiska problemen utan att behöva kladda ner koden med orelevanta saker. Vid debuggning förstår jag dock fördelen. BinarySearchTree tree; tree.Insert(2); verify(4, tree.Size(), ”Size() after 6 inserts where 3 are equal values”); konsolen: ”Failed! Expected: 4 Got: 6 – Size() after 6 inserts where 3 are equal values” Utöver detta fungerade BinarySearchTree bra. Metoderna fungerade så som man förväntade sig om dom. Genom unit-testing upptäcktes inga fel. Metoderna In_Order_Traversal, Pre_Order_Traversal och Post_Order_Traversal testades genom Visual Studios debug-verktyg där värderna och ordningen på alla Node’s kollades om de stämde. Likadant gjordes när Node-placeringarna stämde rätt när man använde Insert för att lägga in värden i BinarySearchTree. /Johannes Westberg |