254 reputation
15
bio website
location Reading, United Kingdom
age 28
visits member for 3 years, 11 months
seen Dec 5 at 19:41

Nov
21
answered How to deal with Windows .NET configuration files
Nov
21
comment What should an object be called that contains only setters and getters?
'Property bag' fits the best to this specific style of class design, IMHO. Most C# developers would understand what you meant.
Sep
16
comment The importance of duplicate code removal
'I'm ok with it being like that' is not a valid reason to prefer code that is obviously worse. Not finding an issue important enough to go to the effort of making changes is one thing; actively preferring the worse solution is something else entirely. Often these people will be impossible to reason with and the only way to proceed is to improve the code and force them to accept it.
Aug
9
answered Sense of unit tests without TDD
Jan
21
comment Parser and interpreter knowledge as a way to gauge programmer ability
+1. Correlation does not imply causation. Good programmers often like parsers and interpreters because they're interesting programming problems - to them.
Dec
19
comment Is TDD viable in collaborative open source projects
Ah, I see what you mean. I suppose some loss of rigour is inevitable, but you can still verify that code comes with tests, that the tests are sufficiently granular and they cover everything they're supposed to. I'm not that familiar with git, but for a given pull request, is it possible to inspect the sequence of commits for that changeset to see that the developer followed a suitable process to produce it?
Dec
19
comment Is TDD viable in collaborative open source projects
Surely the repository owner can decline to pull any changes that don't conform to the project's quality standards? Perhaps the quality and quantity of contributions would suffer if contributors dislike this, but that;s not to say you can't enforce it. Surely?
Aug
25
awarded  Critic
Jun
22
comment Should we design programs to randomly kill themselves?
I don't have anything useful to contribute as an answer, but this is definitely an interesting question. It would definitely force a programmer to write a decent component architecture that (correctly) copes with random component failures if those failures were guaranteed by the nature of the components themselves.
Jun
16
comment Prototyping vs. Clean Code at the early stages
Can you suggest what you think the problem is? Perhaps the sentences are too long, as I've just noticed there are only two of them. Anything else?
Jun
8
answered Prototyping vs. Clean Code at the early stages
Jun
1
comment How do you get consistency in source code / UI without stifling developer's creativity?
"Bosses don't really ever seem to care about the quality of the code" - most bosses who aren't imbeciles realise that quality is important, but a rational business decision is based on cost vs. benefit. It's a lot more difficult to estimate the likely cost of bugs (in terms of customer goodwill and so on) and of maintenance effort than it is to estimate the cost of writing code, so in the absence of information the rational thing to do is de-emphasise it. They need your help to make a better estimate of the likely cost of neglecting quality.
Dec
5
comment How do you balance between “do it right” and “do it ASAP” in your daily work?
"Often the sales team gets us into trouble just to get a commission" - At what point would you consider that sales should be held responsible for selling something that the business can't deliver - assuming there is one? Do you have examples where they've crossed the line between aggressive marketing and overselling?
Dec
4
comment How do I prove or disprove “god” objects are wrong?
The lead developer/manager/whatever should absolutely take all reasonable measures to ensure that the team retain a good working relationship with one another. If additional training is helpful, then by all means consider it as an option - but this seems to be like a case of wilful ignorance, and telling someone they need to be trained to understand your idea when what they think they've done is disagree, rather than not understand, could backfire. I have a hard time imagining ways of dealing with people who don't want to learn.
Dec
2
comment How do I prove or disprove “god” objects are wrong?
The manager's decision has been adequately justified, and if the team don't agree, then the problem is with the team. The OP was hired for his expertise and not being allowed to use it to benefit the business because colleagues won't behave reasonably isn't acceptable. Let's turn your assertion on its head - why shouldn't the resistant team members quit if their view of the job is incompatible with that of the business?
Dec
2
answered How do I prove or disprove “god” objects are wrong?
May
29
comment Dependency injection: How to sell it
It's often occurred to me that to really grok an ivory-tower concept like DI, you have to have gone through the same process as the evangelists did to realise that there was a problem to solve in the first place. Authors often forget this. Stick with low-level pattern language and the need for a container may (or may not) emerge as a consequence.
Mar
29
comment How to deal with tautology in comments?
Useful alternative that demonstrates how to turn a poor comment into a good one: // This is an adjective, not a verb. Provided for consumers that need to retrieve the update location because [x]
Mar
29
comment Adding complexity to remove duplicate code
This isn't really an answer, more of an observation: If you can't easily explain what a factored-out base class does, it might be best not to have one. Another way of looking at it is (I assume you are familiar with SOLID?) 'does any likely consumer of this functionality require Liskov substitution'? If there is no likely business case for a generalised consumer of interpolation functionality, a base class is of no value.
Jan
12
awarded  Yearling