Skip to main content

Evaluation of JavaScript Quality Issues and Solutions for Enterprise Application Development

  • Conference paper
  • First Online:
Software Quality. Software and Systems Quality in Distributed and Mobile Environments (SWQD 2015)

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 200))

Included in the following conference series:

Abstract

Today’s web applications heavily employ JavaScript to cover wide parts of the applications’ front ends. The scripting language, often called the “lingua franca” of the web, is also becoming increasingly popular for building enterprise-grade applications. However, in practice, the language is criticized for being too unstructured, flawed and inadequate for such projects. In this contribution, the major problems with JavaScript as the language of choice for enterprise applications are analyzed and possible solutions to ensure the quality of such systems are discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/with

  2. 2.

    http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml

  3. 3.

    http://contribute.jquery.org/style-guide/js/

  4. 4.

    http://javascript.crockford.com/code.html

  5. 5.

    http://dojotoolkit.org/community/styleGuide

  6. 6.

    http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts

References

  1. Why javascript still sucks /r/programming (2012). http://www.reddit.com/r/programming/comments/14wk9o/why_javascript_still_sucks/

  2. Java script sucks (2014). http://c2.com/cgi/wiki?JavaScriptSucks

  3. Yourlanguagesucks (2014). https://wiki.theory.org/YourLanguageSucks#JavaScript_Sucks_because

  4. Administrator. The this problem, 19 May 2014. http://www.i-programmer.info/programmer-puzzles/137-javascript/1922-the-this-problem.html

  5. Hejlsberg, A., Lucco, S.: Typescript language specification. http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf

  6. Burke, J.: amdjs/amdjs-api, 27 May 2014. https://github.com/amdjs/amdjs-api/wiki

  7. Charollais, P.: Final draft standard ECMA-262 edition 5.1, March 2011. (Revised 6)

    Google Scholar 

  8. Crockford, D.: Jslint, the javascript code quality tool, 08 April 2014. http://www.jslint.com/

  9. Crockford, D.: JavaScript - The Good Parts: Working with the Shallow Grain of JavaScript. O’Reilly, Farnham (2008)

    Google Scholar 

  10. Dahlbom, B., Mathiassen, L.: Computers in Context: The Philosophy and Practice of Systems Design. NCC Blackwell, Cambridge, MA (1993)

    Google Scholar 

  11. Fard, A.M., Mesbah, A.: JSNose: detecting javascript code smells. In: IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 116–125 (2013)

    Google Scholar 

  12. Foy, B.D.: What is enterprise software? 16 May 2014. http://www.perlmonks.org/?node_id=504043

  13. Gamma, E.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional Computing Series. Addison-Wesley, Reading, Mass (1995)

    Google Scholar 

  14. Halstead, M.H.: Elements of Software Science. Operating and Programming Systems Series, vol. 2. Elsevier, New York (1977)

    MATH  Google Scholar 

  15. International Organization for Standardization. ISO/IEC 25000:2014 - systems and software engineering - systems and software quality requirements and evaluation (square) - guide to square, 19 May 2014. http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=64764

  16. Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., Carriere, J.: The architecture tradeoff analysis method. In: Fourth IEEE International Conference, pp. 68–78, 10–14 Aug 1998

    Google Scholar 

  17. MacCaw, A.: Developing JavaScript Web Applications. O’Reilly, Sebastopol, California (2011)

    Google Scholar 

  18. McCabe, T.J.: A complexity measure. IEEE Trans. Softw. Eng. 4, 308–320 (1976)

    Article  MathSciNet  Google Scholar 

  19. Mikkonen, T., Taivalsaari, A.: Using javascript as a real programming language (2007). http://www.activemode.com/webroot/Workers/ActiveTraining/Programming%5CJavascript_AsProgrammingLanguage.pdf

  20. Nitze, A., Schmietendorf, A.: Modularity of javascript libraries and frameworks in modern web applications. In: Wuksch, D., Peischl, B., Kop, C. (eds.) Selected Topics to the User Conference on Software Quality, Test and Innovation (ASQT 2014), OCG, Klagenfurt, AT (2014)

    Google Scholar 

  21. Node.js. npm, 16 May 2014. https://www.npmjs.org/

  22. Ocariza, F., Bajaj, K., Pattabiraman, K., Mesbah, A.: An empirical study of client-side javascript bugs. In: ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), pp. 55–64 (2013)

    Google Scholar 

  23. Ocariza Jr., F.S., Pattabiraman, K., Zorn, B.: Javascript errors in the wild: an empirical study. In: IEEE 22nd International Symposium on Software Reliability Engineering (ISSRE), pp. 100–109 (2011)

    Google Scholar 

  24. Osmani, A.: Learning JavaScript Design Patterns. O’Reilly Media, Sebastopol, CA (2012)

    Google Scholar 

  25. Richards, G., Lebresne, S., Burg, B., Vitek, J.: An analysis of the dynamic behavior of javascript programs. In: Zorn, B., Aiken, A. (eds.) The 2010 ACM SIGPLAN Conference, pp. 1–12 (2010)

    Google Scholar 

  26. Severance, C.: Javascript: designing a language in 10 days. Comput. 45(2), 7–8 (2012)

    Article  Google Scholar 

  27. Stefanov, S.: JavaScript Patterns. O’Reilly, Sebastopol, CA (2010)

    Google Scholar 

  28. Swift, J.: Javascript developer survey 2013, 23 Dec 2013. http://www.i-programmer.info/news/167-javascript/6746-javascript-developer-survey-2013.html

  29. Szegedi, A.: Javascript in the enterprise. Presentation at QCon (2009)

    Google Scholar 

  30. TIOBE Software. Tiobe index, 05 June 2014. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

  31. Way, J.: Top 10 things that javascript got wrong - tuts+ code tutorial (2010). http://code.tutsplus.com/tutorials/top-10-things-that-javascript-got-wrong-net-9266

  32. Zakai, A.: Emscripten: an llvm-to-javascript compiler (2011). http://davideglintine-new.googlecode.com/hg/docs/paper.pdf

  33. Zakas, N.C.: Maintainable Javascript. O’Reilly, Sebastopol, CA (2012). (Revised edition)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to André Nitze .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Nitze, A. (2015). Evaluation of JavaScript Quality Issues and Solutions for Enterprise Application Development. In: Winkler, D., Biffl, S., Bergsmann, J. (eds) Software Quality. Software and Systems Quality in Distributed and Mobile Environments. SWQD 2015. Lecture Notes in Business Information Processing, vol 200. Springer, Cham. https://doi.org/10.1007/978-3-319-13251-8_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-13251-8_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-13250-1

  • Online ISBN: 978-3-319-13251-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics