1,573 reputation
318
bio website beedogs.com
location East Midlands
age 40
visits member for 2 years, 1 month
seen Dec 19 at 17:15

20+ years of experience in IT with various platforms, languages, databases and industries.


Dec
12
comment Is there something as a bug-free application?
@JuliaHayward Couldn't agree more. The end game here isn't zero defects - it is producing functional software that adds value in a timely fashion.
Dec
10
comment How can I encourage people to read error messages?
Are the error messages easy to find or are they lost in a vast ocean of output?
Dec
5
comment How to get people to actually do code reviews promptly?
At our company, code reviews for the previous sprint are work items like any other. They are time-boxed to be completed in the following sprint.
Dec
5
comment Separate code coverage reports for unit and integration tests, or one report for both?
We keep unit tests and integration tests in separate libraries for exactly this reason.
Dec
5
comment What is the benefit of the MoSCoW technique?
Thanks @kmote - I've edited it
Nov
21
comment Why should I ever implement structs?
First hit in Google: stackoverflow.com/questions/521298/when-to-use-struct-in-c
Nov
18
comment Detect or Prevent Screen Capture Applications
There are lots of systems where the data is sensitive but I think time would be better spent trying to head off social engineering routes e.g. getting people to lock their screens, restricting access to apps/offices etc. Whatever you do (or believe you can do) in the app, it can be circumnavigated.
Nov
13
comment What's the idea behind mocking data access in unit tests
I like the baker analogy...
Nov
6
comment Why do we use non-descriptive internal codenames?
@back2dos Not personally. Generally they're different sounding enough so this is highly unlikely. Obviously if you name successive releases Rubin & Robin, you're asking for trouble...
Nov
6
comment Why do we use non-descriptive internal codenames?
What is descriptive to you might not be descriptive (or consise) enough for someone else. A name is a name is a name. No confusion or disagreement.
Oct
23
comment Code that converts a value into a different representation, then converts it back to where it started is bad, but how?
Couldn't agree more. Otherwise known as The Single Source Of Truth...
Oct
7
comment What are the disadvantages of test-first programming?
+1 TDD doesn't protect against a developer who has misunderstood a business requirement. This is where BDD comes in...
Sep
3
comment Website compatibility with old operating systems
If my time in support roles has taught me anything, it is that the volume of the noise doesn't always match the importance of the problem. Obviously, the failure of the site is catastrophic for that user but you need to consider what the majority of the users are using. For those on legacy software, gently guide them to greener pastures.
Aug
25
comment Developing configuration syntax - best practise/rules/methods?
Most of the time, you wouldn't want external config for all your business objects but there are certain scenarios where it is desirable. E.g. complex data factories with a large number of data feeds.
Aug
25
comment Developing configuration syntax - best practise/rules/methods?
Also - the source of the data as I mentioned elsewhere...
Aug
25
comment Developing configuration syntax - best practise/rules/methods?
Yes, if we suddenly decide surnames can be 30 rather than 20 characters, it seems a bit daft to have to code round this sort of thing every time...
Aug
25
comment Developing configuration syntax - best practise/rules/methods?
This raises an interesting point about the provenance of the data. If the application is creating the object then this sort of approach is perfect. But if the source is third party data, you'd probably want some sort of pre-validation or constructor checks.
Aug
11
comment Make Return Type an Interface - Problem with Initialization
Although you need a concretion to do something, there is nothing to stop you referring to concretions using their interface e.g. IMyInterface r = new MyClass(); N.B. this is sometimes written as IMyInterface r = new MyClass() as IMyInterface; but the as statement is pure cruft here and has no effect (see the CIL if in doubt).
Jun
17
comment Property value validations on POCO entities
Yes, it would make sense to do the validation in the object itself in that case. ID length would be a static property or similar which could be pushed through to the form at runtime.
Jun
17
comment Formulate release notes consistently
That is the best approach in my experience.