Software Development: Difference between revisions
Add Code Quality and Automation sections |
balance the pH - less acidic |
||
| Line 7: | Line 7: | ||
One of the biggest challenges for anyone working on software is [[wp:Software development effort estimation]]. | One of the biggest challenges for anyone working on software is [[wp:Software development effort estimation]]. | ||
I used to use a tool by David Wheeler called '[https://dwheeler.com/sloccount/ SLOCCount]' (Software Lines Of Code Count), but it had fallen out of maintenance after 2004 . Eric Raymond [http://esr.ibiblio.org/?p=8270 wrote about this] as he wrote a replacement in [[ | I used to use a tool by David Wheeler called '[https://dwheeler.com/sloccount/ SLOCCount]' (Software Lines Of Code Count), but it had fallen out of maintenance after 2004 . Eric Raymond [http://esr.ibiblio.org/?p=8270 wrote about this] as he wrote a replacement in [[Golang]] in 2019. A more recent similar tool is Ben Boyter's [[SCC]] | ||
I can't talk about "Lines of Code" without mentioning that writing software is NOT measured by the number of lines of code you produce! Lines of Code is one of many metrics<ref>Lines of Code is a metric that | I can't talk about "Lines of Code" without mentioning that writing software is NOT measured by the number of lines of code you produce! Lines of Code is one of many metrics<ref>Lines of Code is a simple "talking point" metric so that often makes it into a conversation. Sadly, there are too many organizations that ignore any other metrics or ("advanced") software engineering concepts like [[wp:cyclomatic complexity]]. Every organization calls themselves "lean" and "agile" as talking points to appeal to finance and management but the claim says nothing about the rigors and professionalism of their software process. To actually understand "agile", try reading something like '''[https://davenicolette.wordpress.com/2016/05/19/where-agile-goes-to-die/ agile is about results]'''. He says: (For people who've never actually learned it,) ''agile is about rules''.</ref>. It can be extremely valuable to '''remove''' code. "Lines of code removed" is a '''very''' useful metric. That should help make the point. Consider: Less code equals less to audit. Less code equals less attack surface. | ||
== Code Quality == | == Code Quality == | ||