On Friday, 21 September 2012 at 19:09:48 UTC, H. S. Teoh wrote:
On Fri, Sep 21, 2012 at 03:54:21PM +0200, Paulo Pinto wrote:
[...]
In big corporations you spend more time taking care of existing
projects in big teams, than developing stuff from scratch.
In these type of environments you learn to appreciate the
verbosity
of certain programming languages, and keep away from cute
hacks.
I have to say, this is very true. When I first got my current
job, I was
appalled at the verbosity of the C code that I had to work
with. C
code!! Not Java or any of that stuff. My manager told me to try
to
conform to the (very verbose) style of the code. So I thought,
well
they're paying me to do this, so I'll shut up and cope.
After a few years, I started to like the verbosity (which is
saying a
lot from a person like me -- I used to code with 2-space
indents),
because it makes it so darned easy to read, to search, and to
spot
stupid bugs. Identifier names are predictable, so you could
just guess
the correct name and you'd be right most of the time. Makes it
easy to
search for identifier usage in the ~2 million line codebase,
because the
predictable pattern excludes (almost) all false positives.
However:
Specially when you take into consideration the quality of work
that
many programming drones are capable of.
[...]
Yeah, even the verbosity / consistent style of the code didn't
prevent
people from doing stupid things with the code. Utterly stupid
things.
My favorite example is a particular case of checking for IPv6
subnets by
converting the subnet and IP address to strings and then using
string
prefix comparison. Another example is a bunch of static
functions with
identical names and identical contents, copy-n-pasted across
like 30
modules (or worse, some copies are imperfect buggy versions).
It makes
you wonder if the guy who wrote it even understands what code
factorization means. Or "bug fixes" that consists of a whole
bunch of
useless redundant code to "fix" a problem, that adds all sorts
of
spurious buggy corner cases to the code and *doesn't actually
address
the cause of the bug at all*. It boggles the mind how something
like
that made it through code review.
The saddest thing is that people are paying big bucks for this
kind of
"enterprise" code. It's one of those things that make me never
want to
pay for *any* kind of software... why waste the money when you
can
download the OSS version for free? Yeah a lot of OSS code is
crap, but
it's not like it's any worse than the crap you pay for.
Sigh.
T
Welcome to my world. As a Fortune 500 outsourcing consulting
company
employee, I see this type of code everyday.
--
Paulo