Strictly typed languages like TypeScript avoid unexpected behavior, prevent bugs, and improve code maintainability.
Table Of Contents
This decision is backed by peer-reviewed and cited research papers that prove that TypeScript indeed reduces the number of bugs introduced. These include:
- Stefan Hanenberg, Sebastian Kleinschmager, Romain Robbes, Éric Tanter, and Andreas Stefik. 2014. An empirical study on the impact of static typing on software maintainability. Empirical Software Engineering 19, 5 (2014), 1335ś1382. https://doi.org/10.1007/s10664-013-9289-1
- Clemens Mayer, Stefan Hanenberg, Romain Robbes, Éric Tanter, and Andreas Stefik. 2012. An empirical study of the influence of static type systems on the usability of undocumented software. In Proceedings of the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2012, Tucson, AZ, USA, October 21-25, 2012. 683ś702. https://doi.org/10.1145/2384616.2384666
- Samuel Spiza and Stefan Hanenberg. 2014. Type names without static type checking already improve the usability of APIs (as long as the type names are correct): an empirical study. In 13th International Conference on Modular- ity, MODULARITY ’14, Lugano, Switzerland, April 22-26, 2014. 99ś108. https://doi.org/10.1145/2577080.2577098
- Andreas Stuchlik and Stefan Hanenberg. 2011. Static vs. dynamic type systems: an empirical study about the relationship between type casts and development time. In Proceedings of the 7th Symposium on Dynamic Languages, DLS 2011, October 24, 2011, Portland, OR, USA, Theo D’Hondt (Ed.). ACM, 97ś106. https://doi.org/10.1145/2047849.2047861
More specifically about TypeScript:
All the findings rely on code editor integrations for suggestions, and on the TypeScript compiler validation. Make sure to set those up in your local environment.
- Configuration files for adjacent apps like Storybook.
We will be more efficient because developers and quality assurance engineers will spend less time in the cycle of reporting and fixing bugs.