aws-cloudformation / aws-cloudformation/cloudformation-cli-java-plugin
[Proposal] Use unboxed boolean types in ResourceHandlerRequest
- Lenguaje dominante
- Java
- Estrellas
- 30
- Forks
- 48
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
There are 2 recent changes that landed in `ResourceHandlerRequest`: https://github.com/aws-cloudformation/cloudformation-cli-java-plugin/commit/ebca1dc12e187b484ed599db65d726a6b23a14c0#diff-adfb207dac8dff5107b68b36280ccad4525f92176184ad2ffff9aa7e591b2e8a and https://github.com/aws-cloudformation/cloudformation-cli-java-plugin/commit/e34f0472d0bc67953f41d4ceb666a175d0a7fb2d#diff-adfb207dac8dff5107b68b36280ccad4525f92176184ad2ffff9aa7e591b2e8a.
Both changes favor boxed Boolean over primitive types.
As a result, the usage of this class implies on importing BooleanUtils or a similar helper in order to avoid constructions like: `if (request.getSnapshotRequested() != null && request.getSnapshotRequested() == true) { ... }`.
And the code that is performing a "naive" boolean comparison like: `if (request.getSnapshotRequested()) { ... }` will fail with a null-pointer exception.
The same stands for the rollback flag.
I wonder if var type boxing was done for some specific reasons? If there are no strict reasons, I would vote for unboxing them to simplify condition checking.
Guía de contribución
Línea de trabajo
Empieza localizando ResourceHandlerRequest y revisando los dos commits enlazados que introdujeron los campos Boolean boxed. Comprueba cómo se usan snapshotRequested y rollback y, después, determina si los booleanos primitivos son apropiados y si las pruebas existentes cubren las comprobaciones de condiciones null o booleanas. Se considera terminado cuando la justificación está resuelta y los tipos de flag elegidos funcionan de forma segura para los callers.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- tooling
- Tipo de issue
- Refactorización
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100