David has inspired me to look closely at LOC (Lines Of Code), and trying to keep the numbers low. Why? Less code means less code to read, write, maintain, understand, keep in your head, and especially modify when you realize that something else would be better for users or business.
Rails already has a built-in Rake stats target, but OpenACS does not, so last night I wrote this quick shell script to count the number of lines of code:
find . -name \.tcl -print | xargs grep “][#[:space:]]” | wc -l
Current LOC for my CMS project: 9545.
Current LOC for our intranet project: 1146.
I think real project size would account for the CMS to be about twice the size of the intranet, but no more. The rest7253 LOC, or 75%would be due to differences in language and platform.
If I ever get a chance to rewrite the CMS in Rails, I would be happy to report.