Studying architecture of Electron 1 - Development View and Technical Debt


I have been working on studying the architecture of Electron as a student of Software Architecture at TU Delft in a team of two people.
We have done things like:

  • Development View of Electron: This is a quick start guide for developers who want to contribute to open-source project of electron.

  • Technical Debt analysis of Electron using SonarQube and checking module dependencies:
    Here’s the summary of Technical Debt Analysis that we performed using SonarQube on stable version of Electron:

  1. Code smells : Technical debt of 2 days, in total 140 code smells (mainly in spec, testing code)
  2. Duplication rate : only 4% (again, mainly in spec)
  3. 15 bugs and 3 critical vulnerabilities: Bugs were related to coding styles and vulnerabilities were like use of “eval” function in runtime to call object’s property which needed to be done at compile time.

We also performed a git -grep to find 79 TODOs and 46 FIXMEs.

Module dependency graph was huge (was generated using IntelliJ) and we found that most dependent packages are assert, path and core Electron.

Would love to see what community who uses Electron thinks about this. :slight_smile:

Feel free to criticize, provide feedback or ask for more details.