About 8 months ago I compared the lines of code in EDU 2.0 and Moodle. Since then, we've grown from 47,000 members to 120,000 members, launched EDU 2.0 for Business, and ported the entire platform over to Amazon EC2/S3. In addition, we've added a large amount of functionality, including:
- SCORM support
- e-commerce support via integration with PayPal Website Pro
- new customizable school home pages with custom boxes, class catalogs, etc.
- several new assignment types
- PDF generation of many reports
- support for portfolios and proficiencies
- early set of open APIs w/ open source client library written in Ruby
- support for rubric banks and proficiency banks
- parent support for report cards and access to their children's lessons and assignments
- support for 6 new languages including Croatian, Slovenian, Danish and Finnish
- digital locker for storing personal resources
Here are the updated statistics for our code base:
- 31,000 -> 37,000 lines of code (+19%)
- 594 -> 742 classes (+24%)
- 4317 -> 4977 methods (+15%)
- 6 -> 6 methods per class on average (+0%)
- 5 -> 5 lines of code per method on average (+0%)
Overall, the code base went up by about 20%. We do code reviews every week and continually refine and refactor the architecture. It's quite common for a new feature to cause the code base to shrink because it triggers a refactoring.
The good news is that the EDU 2.0 code base is still very small compared with Moodle. Here's the updated comparison:
- Moodle: 1,500,000 lines of PHP, 300 man years
- EDU 2.0: 37,000 lines of Ruby, 5 man years
Comments