159 reputation
6
bio website heliosphan.org
location England, United Kingdom
age
visits member for 2 years, 11 months
seen Apr 4 at 15:20

Jan
16
awarded  Popular Question
Dec
12
awarded  Teacher
Nov
7
comment What are useful metrics for source code?
Using SLOC as a productivity metric is just dumb and will probably never give good results. Using SLOC as a quality metric indicating maintainability and number of defects is more sane, with all the caveats already discussed on this question.
Nov
4
comment Software architecture map to aid cross team communication?
The # of teams changes but about 6 on average. Each team works on one area of the system, and the tasks within each team are ordered logically and team members decide amongst themselves which task to do next (based on skill set, priorities, etc.). Tracking is with little cards on whiteboards and a daily 15 min stand-up meeting/discussion.
Nov
4
comment Software architecture map to aid cross team communication?
@SteveEvers Nice idea. I suspect most of the map could be generated automatically also, using some bespoke code to identify the dependencies. That code would likely require updating from time to time, but there would be an incentive to do that if it was seen to be working well.
Nov
4
comment Software architecture map to aid cross team communication?
@Aaronaught We do have a lot of separation at the technology level, i.e. layers of functionality. But at the highest levels we have a sort of process flow that directs navigation around a web site and what data goes in and out of each step in the process. It's this high level where most of the issue is. There is also a database which tends to have tables that are common use but which may get extended to drive specific functionality. (it's complicated!)
Nov
4
comment Software architecture map to aid cross team communication?
We do have localised unit tests, at a larger scale the system is fairly brittle to changes such that 'user journey' scripts tend to get broken very quickly by new work. I would also add that using tests to detect overlap requires work to be performed and checked-in to source control, hence effort has been exerted on development prior to the conflict being detected.
Nov
4
asked Software architecture map to aid cross team communication?
Oct
21
comment Genetic Algorithm - solving a matrix with hard and soft constraints
What are the row constraints?
Oct
21
awarded  Commentator
Feb
5
comment Objective Metrics for Software Quality
Yes I agree that they will tend to be strongly correlated, although the relationship is generally non-linear. e.g. A CC score is roughly LOC raised to some power. So from a psychological point of view the CC score can be seen to become very large very fast, whereas the associated SLOC score just seems 'only a bit higher'. Yes I know I'm clutching at straws here :)
Feb
4
comment Objective Metrics for Software Quality
To be maintainable we need the code to be in human 'chunks, hence a SLOC metric looks pretty good from that perspective. Howeverm, for a given size you could have varying numbers of unique paths (as per cyclomatic complexity) and I would argue that more paths is a proxy for less easily understandable. Hence I would argue that CC probably does add /some/ additional value to SLOC, so long as you allow for some flexibility, exceptions to the rule, etc. That is, don't strictly enforce CC.limits/goals.
Feb
4
awarded  Nice Question
Oct
23
comment “Never do in code what you can get the SQL server to do well for you” - Is this a recipe for a bad design?
In my case I have lots of filters (which perform OK), but also a choice of sort order - this is currently done with a horrible CASE WHEN beneath an ORDER BY clause. From a performance point of view I feel this has crossed a line (in a big way) and would be best executed as dynamic SQL, however, that is not an option for other well know reasons. But in the .Net MS SQL Server world you now have LINQ which is essentially dynamic SQL generation behind some framework classes. Not sure if this is a good option but it's my current research angle.
Oct
23
comment “Never do in code what you can get the SQL server to do well for you” - Is this a recipe for a bad design?
And what about large number of optional filters?
Aug
14
comment Objective Metrics for Software Quality
+1 for Nassim Taleb book reference. Flawed reasoning/epistemology being on the chain of causality for low quality.
Jul
29
comment Objective Metrics for Software Quality
The thing with fan-in/out is that it gives two numbers per module/class (or whatever) and therefore ignores some of the deeper organizational structure of how modules are connected. E.g. you could have a small cluster of highly connected modules related to a logical tier, and you would expect the connections between tiers to be minimal (in comparison), representing a well defined interface/contract between tiers. I figure we are happy that some modules are heavily connected (e.g. commonly used helper methods/classes), but depending on the 'structure' of the connectivity (that's my hypothesis).
Jul
29
comment Objective Metrics for Software Quality
Also see leshatton.org/Documents/TAIC2008-29-08-2008.pdf Slide 17 ""Lesson 1: Cyclomatic complexity effectively useless" :)
Jul
29
awarded  Supporter
Jul
29
comment Objective Metrics for Software Quality
I'm siding with Thomas here. That metrics can be miss-used by management is a key point to bear in mind, but not a reason to entirely reject there use. Yes there are deeper issues related to psychological biases and how they will tend to interact with code metrics. Some organizations/people/projects will use the metrics advantageously, others will be dysfunctional - so no change there then :)