On Monday, 8 December 2014 at 16:04:31 UTC, H. S. Teoh via
Digitalmars-d wrote:
On Mon, Dec 08, 2014 at 11:22:45AM +0000, Chris via
Digitalmars-d wrote:
[...]
What I gather from all the posts about code reviews and
testing is
that it's a solid mess out there, and the bigger the company
the
bigger the mess. I'm pretty much the only guy who works on the
code at
the moment and sometimes feel a bit bad about failing to
update this
or that (unit) test (simply because I lack the time). On the
other
hand the code and the programs are constantly being tested in
the real
world and are very stable.
Sounds like you're actually in a pretty good state, compared
with the
rest of the industry out there! :-P
Well, I don't have to meet deadlines all the time and deal with
customers who've been promised by someone in the management that
you can turn straw into gold. I don't need feature X until
tomorrow (or yesterday), but can think about a proper
implementation first. Thankfully we have someone on the team who
can test the software immediately and thoroughly before we give
it out (or use it internally).
This might be due to the fact, that I "unit test" a lot during
development (code a little, test a little). It is also down to
the
fact that the D compiler often helps me and warns me
immediately. It's
not so easy to get away with dodgy code in D.
Yeah, D does fix a lot of the flaws with C/C++ that allow you
to shoot
yourself in the foot and then erase all evidence of it. While D
does
have its own share of dark corners, it's generally very
pleasant to work
with, and does encourage good coding style.
D does have dark corners, but only if you care to go there, and
sooner or later (rather sooner than later) your house of cards
will collapse, because the dodgy code is often "found out" by the
proper code. I've always had to rewrite any dodgy, highly unsafe
code I introduced to save a nanosecond - and the dodgy code is
usually due to some interaction with C!
Regarding the working hours, it is hard to measure efficiency
in
working hours when it comes to software development. Sometimes
a major
improvement takes only one or two hours of highly concentrated
work
(after which the brain is wrecked). Sometimes a stupid little
problem
takes a whole day to sort out. And let's not forget that
programmers
often tend to think about how to solve a certain problem after
work. I
often found it more efficient to shut down the computer and go
home
than to keep on trying to find a bug when I'm already tired and
annoyed. The next morning (with a fresh head) I often spot the
bug
immediately. Or I think of the right solution on my way home.
Mere
working hours don't count.
Yep. I have experienced this many times. Sometimes repeatedly
trying to
attack a problem eventually gets to a point where my brain is
just
overwhelmed and cannot make any further progress, but when I
take a walk
and relax for a few minutes, my subconscious brain clears up and
suddenly the solution pops into my head seemingly out of
nowhere. I've
had occasions where I wake up in the middle of the night with
the
solution in my head -- at least once, I actually got up at 6am
and drove
to work just to implement what I became convinced was the fix,
and found
that it in fact was, whereas many hours of intense
concentration the day
before got me nowhere.
T