Windowing System: Improvement Ideas
@SleeplessByte ya está trabajando en esto.
Desde el 7/2/2022.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
After seeing a couple of solutions to "Windowing System" during mentoring, I think the exercise could need some changes to better achieve it's learning objectives.
- For
PositionandSize, the constructor and the method have the same implementation. I saw a solution that used the method in the constructor which is not a very typical example. - There is no reason to use the methods to update values so students often just set the property values directly.
- The calculation for the window resize and move is rather involved which does not add value for the actual learning objectives but it seems students spend quite some time finding creative solutions there, e.g.

Some ideas how to improve the exercise:
- Maybe we should expect some/all properties to be marked as private with the underscore to discourage the direct assignment. That might also make it easier to pick up unwanted code with the analyzer later. (Not sure how to best test in this case though. Either the test disrespects the underscore which is not a good example or the test needs to fall back on some user-implemented serialization function. But if that function is wrong all the tests will fail which is also annoying as everything else the user did could be correct.)
- The methods on
PositionandSizecould change the values by some amount instead of just setting a value. That would make them distinct from the constructor. (Probably only needed if we stick with "public properties".) - Simplify the window resize/move method e.g. by saying some lower bound is always respected
- Lenguaje dominante
- JavaScript
- Estrellas
- 652
- Forks
- 658
- Merge medio
- 19 h 37 min
- PR fusionados (30 d)
- 6
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de exercism/javascript
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
exercism/javascript#2847 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
exercism/javascript#2832 ·
-
exercism/javascript#2310 · 22 comentarios · 1 asignado ·
-
pinned :pushpin:
Dificultad 5/5 Más de una semana Aptitud para principiantes 5/100
exercism/javascript#2144 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 35/100
exercism/javascript#1882 · 2 comentarios ·
Todos los issues de exercism/javascript
Issues similares
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
githubnext/gh-aw-workshop#3692 ·
-
agent/guide documentation hive/hosted-available-lke648397-260827-5n31
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
-
Add: BuyPass TV Abiertochannels:add check:passed
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
S: triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
apache/cloudstack#14222 ·