Professional Documents
Culture Documents
Learn To Code For Free Analyzing: Freecodecamp
Learn To Code For Free Analyzing: Freecodecamp
Badea Oana
Bure Kristina
Case Study
• Our mission: to help people learn to code for free. We accomplish this by
creating thousands of videos, articles, and interactive coding lessons - all
freely available to the public. We also have thousands of freeCodeCamp
study groups around the world.
6200 + files
• 4300 + contributors
• 27000 + commits
• 8 years
Steps:
• 1. Data Cleanup and Organization
• 2. System Overview
• 3. Exploring the System
• 4. Exploring the Team
• 5. Exploring the Tasks
• 6. Exploring Relations
• 7. Exploring the Quality Model
• 8. JavaScript duplicate files
1. Data Cleanup and Organization
Filtering out
Irrelevant files
2413
file : has atMost 2 changes
Static Files
Merging
developer aliases
4673 -> 4364
Defining
components
17 components
2. System Overview
System Overview
The most important programming languages in this project are JavaScript, CSS.
3. Exploring The System
The System – Which files have changed heavily?
Almost all parts of the code contain are passive. But the project is still developed.
The System – How did components evolve?
The largest components of the system are currently active. Curriculum is the largest component and client it
is mature enough. We also have a new component “cypress” (in 2020).
4. Exploring The Team
The Team - Evolution
The Team – Evolution
The most important developers are currently active
Stuart Taylor
Berkeley
Martinez Oliver Eyton-Williams
Michael Q Larson
Mrugesh Mohapatra
Randell Dawson
7. Exploring The Quality Model
Quality Model Table
The largest components of the system also contain the most problems.
Quality Model Table
The most concerning issues are related to Excessive Complexity, Bug Impacts and Knowledge Problems.
Quality Model Table - Bugs
Quality Model Table - Complexity
JavaScript duplicated code
Code
Code – plugin-info.json
Code - outputFile.json
Code - outputFile.json
Va multumim pentru atentia acordata!