--- tags: learn disqus: hackmd --- HackMD Lista de conocimientos adquiridos === **[Kelvin arias](/c/https://github.com/KelvinArias)** Este archivo es una lista de cosas aprendidas preguntadas o encontradas durante la revisón realizada en el pedido [Feature create draft in project list](/s/https://github.com/Equip-Collaboration/equip_api/pull/956) Preguntas --- - Web - ¿Si se modifica una función que tiene tests pero no cubre todos los casos se debe cubrir con tests solo la parte modificada o toda la función? - Respuesta: solo lo que tu modificaste. - Nota: Los tests de coverage se deben realizar a las lineas de codigo que realizas en el pedido. - ¿Cuando se cubren las lineas de codigo antiguas que quedaron sin coverage? - Repuesta: Si tienes tiempo puedes cubrir las que puedas o hacer una prioridad compartida con tu jefatura para cubrirlas en un futuro pedido. - ¿En que casos puedo crear esto para evitar hacer un helper? ![](https://i.imgur.com/mcafeN0.png) - Respuesta: si son puros || o && no tienes que crear helper - ¿Cuando usar una función ya definida o crear la tuya? - Respuesta: Cuando una función necesite de más parametros y la funcionalidad de la misma debe ser modificada con más condicionales aumentando asi la complejidad de la función se debe crear una nueva - Nota: Esta pregunta y respuesta no es literal, pero es una abreviación a la original - ¿Debería ser "notSync"? ![](https://i.imgur.com/JHJbA3s.png) - Respuesta: Sí eso debería ser notSync - ¿Que diferencia genera con respecto a 'notLegit'? - Respuesta: Ninguna - ¿Cual es el incentivo de usar uno u otro? - Respuesta: tener errores más claros - Nota: Actualmente no hay una diferencia cuantitativa entre usar 'notSync' y 'notLegit' pero se recomienda respetar su uso porque tendra cambios futuros en los que se necesita que estos campos esten correctamente usados. - API - ¿Por qué no usar switch en este caso? ![](https://i.imgur.com/eDM4Hrt.png) - Respuesta: Se tendria que llamar una función y estos casos es más facil manejarlo de esta manera. - Nota: Sigo pensando que se devio usar un switch - ¿Cuando aplicar esto? ![](https://i.imgur.com/NVV4r8b.png) - Respuesta: Tienes que ver el uso que tenga la función y siempre tratar de reutilizarlas para manejar los errores de manera más organizada. - Nota: En este caso las funciones se usaban para verificar el request - ¿Esta bien dejar parametros sin usar aca o en otros archivos de las acciones de API? ![](https://i.imgur.com/3jitJ4t.png) - Respuesta: Sí, eso ayuda al desarrollador que no sepa que trae la función por defecto - ¿Por qué se agrega un deleteAt a los request y no se borran de la base de datos? - Respuesta: Debido a como funciona el CRON borrar los request de la base de datos podría acarrear errores. - ¿Como y cuando usar este codigo? ![](https://i.imgur.com/IcDZwl2.png) - Respuesta: Cuando necesites tener varios promise all con condicionales. - Nota se debe declarar primero las variables arriba y sirve para llamar los hijos de un request, en este caso en la lista de elementos de un proyecto Aprendizaje --- - Se puede usar un $apply para concatenar un array con varios objetos: ![](https://i.imgur.com/7po9RhO.png) - Siempre que una función sea muy compleja de editar es mejor hacer una más pequeña y especifica para el caso que se desea cubrir - Nunca dejar una función redux con solo un payload los parametros que se recibe ![](https://i.imgur.com/RIUYK4x.png) - Nota: Este caso los parametros son descriptivos pero no tiene jsdocs - Respetar el 'notSync' y 'noLegit' en los mensajes de error en la api - Se pueden agregar funciones en "libs/Lib3S/index.js" siempre que se usen en varias acciones - Se debe reutilizar las acciones para detectar errores en la api siempre que se pueda - Siempre tratar de dejar los componentes hijos en la web lo más sencillos posible y trasladar la logica y el manejo de eventos de esos componentes al componente padre - Usar Promise.all siempre que los querys no necesiten de otro para ser ejecutados - Hacer variables largas y discriptivas es mejor que comentarlas - Estructurar correctamente el changelog y pedir el tiempo que sea necesario para dejarlo lo más fiel a los cambios realizados - Usar Boolean cuando tenga una constante que se use como condicional y reconocer cuando deba crear una función helper Collaboration --- - [Claudio](/s/https://github.com/cmatus) - [Jhonatan](/s/https://github.com/jhonatanmarin1) - [Anibal](/s/https://github.com/AnibalCerda) ###### tags: `Learn` `Revision`