Repository navigation
Week 10
Meeting Date: 11.06.17 Author: Elia Traore
Discussed the following:
The original purpose of the location feature was to create distinction between multiple sensors of the same commercial name. This solution only partly works and doesn't handle more then 2 sensors of the same type well, and therefore was modified:
-
Location will be a user level feature, allowing the user to map his house to self defined locations. The list of the sensors connected to the system will show on the left.
-
Multiple instances of the same commercial name will be distinguished by their alias, which is sent in the registration of the sensor (and assumed to be configured through the sensor itself)
-
The developer will distinguish between sensors through the config region - the developer api will allow setting a config sensor field in which the user will which the right sensor by its alias
Decided to present a popup window when the system loads, and present the GUI accordingly
Ron will implement the API, and it will allow building GUI application without needing to know javafx
Decided on specific coding standards in preparation to the code review:
- The code is spartenized to the best of our ability.
- The code will be cleaned from any unnecessary comments.
- Comments:
- Every public method and class is documented.
- Every API method will have javadoc comments.
- TODOs are resolved and/or deleted.
- Logging and throwing:
- No
printStack()calls, they need to be replaced by logging. - Throw a
RuntimeExceptionafter logging if needed (to prevent silent fails). - Rule of thumb: front-end (GUI) errors doesn't throw, back-end throws.
- No
- Replaces for loops with
Stream.ofwhen possible. For example- Single line for loops.
- For loop where if the loop block doesn't throw (meaning you would need to surround it with try-catch).
- Replace
<enum>.fromStringcalls with<enums>.values().contains(foo)(something like that, specific syntax is a bit different because you need their string name). - Generally, use lambdas whenever possible.
- Remove unused code and obvious code duplications.
Overview
Quick Start
Smarthouse Usage for Owners
Development Manuals
Continuous Development
Misc.