This is rather a question or an idea for a discussion than a regular blog post.
I’m just wondering how does one count LOC in Sharepoint? Or, to be more general, how do you measure the amount of work that has been invested in creating a solution in Sharepoint.
A solution can consist of
- content type definitions (XML files),
- list definitions (XML files again)
- feature definitions (XML),
- Solution manifests (XML),
- CAB file descriptors (“code”),
- ASPX pages (ASP.net code),
- ASPX code-behind files (finally, VB.net, countable!),
- Event handlers code (VB.net, cool),
- Workflow diagrams (generated VB.net code),
- Workflow code-behind files (VB.Net files),
- Workflow rules (XML),
- … and many more things which are not crurrently the case for me;-)
So how do you put it all together? In my opinion, a line in feature.xml file has much more value than a table-tr-td line in ASPX page (the former can break “everything” in your site while the latter cannot). Some lines in list definitions are valuable, some are not. Should one assign values to LOCs of each file type? Seems like LOC is no answer at all. For instance, workflow designer generated code has kind of “no value” as a VB.Net code and LOC measurement wouldn’t tell you much about the effort made to create the particular workflow.