Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

223
Views
¿Cómo hacer que la aplicación angular existente sea "totalmente estricta" paso a paso?

Tengo una aplicación Angular existente que comenzó a desarrollarse en el momento de Angular 4, ahora está en Angular 12. Pero en el momento del desarrollo, el strict mode no estaba habilitado. Ahora, después de que la aplicación esté estable y también implementada en producción, ¿cuál es la mejor manera de habilitar el modo estricto paso a paso, es decir, en fases en lugar de activar todas las opciones estrictas?

Ya he leído la respuesta aquí Angular 10 Stricter Settings --strict , que generalmente es para habilitar el modo estricto.

Mi pregunta está relacionada con cómo habilitarlo en fases. Como el tamaño/complejidad de la aplicación es de nivel medio, será un gran desafío probar todos los cambios a la vez. Hay algunas opciones que veo en la configuración angular estricta, por ejemplo, algunas de ellas se pueden configurar manualmente y otras se activan con strict:true :

  1. noImplicitAny
  2. Parámetros de inyección estrictas
  3. Plantillas estrictas
  4. estrictosNullChecks
  5. Habilitación en tslint.json "no-any": verdadero

¿Cuál es la mejor manera de habilitar esta configuración, paso a paso, en un orden específico, cuál es mejor? Para que pueda probarse e implementarse en producción en fases en lugar de una parte completa que tiene cambios de errores/problemas que pasan desapercibidos. Cualquier ayuda sería apreciada especialmente por alguien que haya pasado por la actualización de un proyecto ya existente, poco a poco en lugar de un empujón completo.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Un buen enfoque:

  1. Comience escribiendo todos sus modelos (interfaces/tipos/clases), ya que esta debería ser la fuente de la verdad para los tipos. Mientras hace esto, evite (cuando sea posible) usar any type.
  2. Escriba sus funciones: aunque la mayoría de las veces, el compilador/servicio de lenguaje puede inferir qué tipos entran y salen de la función, agregar tipos asegurará que su compilador le indique cuándo no está usando sus funciones correctamente.
  3. Use Generics a su favor: Angular tiene muchas funciones que aceptan tipos genéricos que puede aprovechar para asegurarse de obtener el tipo esperado. Un buen ejemplo son las funciones de HttpClient : get , put , post , delete . Digamos que está esperando un tipo de number de una llamada API, luego agregaría ese tipo a la invocación de la función: this.http.get<number>(someAPIUrl) . La mayoría de las bibliotecas tienen buena documentación sobre sus tipos.
  4. Puede comenzar a activar las banderas de tsconfig como noImplicitAny ; esto ayudará a reducir los lugares donde necesita agregar más escritura que puede haber pasado por alto. En este punto, incluso puede activar el modo strict también.
  5. Active la verificación del tipo de plantilla: los documentos de Angular son muy útiles para esto . No puedo decirle lo fácil que es hacer clic en la propiedad de un objeto en la plantilla y me lleva directamente a la definición de clase/interfaz/tipo.

Por supuesto, puede tomar algún tiempo antes de llegar a donde quiere y esperar que algunas cosas se rompan antes de arreglarlas. Así que trabajando en ello poco a poco mi ayuda.

Solo para tener en cuenta, hay más trabajo que está haciendo el equipo de Angular para mejorar la escritura, como los formularios escritos.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!