Reflection for lab1 can be seen here. Reflection for lab2 can be seen here.
- Alessandro
- Ismail
This project forked from radams78/tda553-lab1
CRITICAL: The following methods must each be used in at least one test.
gas
brake
move
turnLeft
turnRight
StartCars() doesn’t have any assertions.
MoveCars() only tests if the car position has changed. It is possible that the test has a bug but the test still passes. Can you think of a way to strengthen the test?
“Interfaces” isn’t a cohesive package. They should usually be in the same package(s) as the classes that implement it.
TransportVehicle:
Instance variables should be private, not protected. Use getters/setters instead.
LowerPlatform and raisePlatform need an else statement, otherwise they don’t do anything.
CarTransporter:
It might be better to put the code involving turbo into its own class which Saab95 inherits from or delegates to. Then we could create a new car with turbo without modifying or duplicating code.
It might also be better to put the code involving trim into its own class which Volvo240 inherits from or delegates to. Then we could create a new car with trim without modifying or duplicating code.
CRITICAL: Contract for gas() is misunderstood.
Even though we haven’t asked specifically, please demonstrate your understanding of the LSP by saying what the contract for startEngine() is in IVehicle, and whether its implementation in Volvo and Scania satisfy LSP.
CRITICAL: Can load more than maximum capacity of cars.
The loadedVehicles list is protected, and can thus be altered anywhere in the package. Should be private.
Consider what happens if I were to try unloading or loading the same car twice. Add a comment to the code about that.
CRITICAL: Duplicated code exists between CarTransporter and RepairShop (load/unload methods).
CRITICAL: It is possible to violate a sanity check by calling public methods.
currentSpeed is package protected (as are the rest of the instance variables). This means that within the package, it’s public, and can thus be directly changed.
Good job on this lab - I will not be giving any critical issues. For the future, I recommend:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.