User: Password:
|
|
Subscribe / Log in / New account

Quote of the week

And when you let developers create arbitrarily long identifiers, some of them do crazy things. At work, it all started with

Tools/Java/StringUtilities/StringTransformer.java
Tools/Java/StringUtilities/StringCollectionTransformer.java

which are not too crazy. But they naturally spawned

Tools/Java/StringUtilities/NullRemovalStringCollectionTransformer.java

which is only slightly less insane than Tools/Java/StringUtilities/StringTransformerBackedStringCollectionTransformer.java

Now when you consider the presence of

Tools/Java/StringUtilities/ToLowerCaseStringTransformer.java

it's only natural to create

Tools/Java/StringUtilities/ToLowerCaseStringTransformerBackedStringCollectionTransformer.java

and that, of course, demands the creation of

Tools/Java/StringUtilities/TestToLowerCaseStringTransformerBackedStringCollectionTransformer.java

I'm not kidding! This stuff is for real! Who could make this up?)

P.S. please don't flame Java developers. The poor souls, they really don't know any better. I actually feel sorry for them more than anything.

-- Greg Ward
(Log in to post comments)

Quote of the week

Posted Aug 18, 2011 5:28 UTC (Thu) by elanthis (guest, #6227) [Link]

The names getting longer is less a problem of naming and more a problem of someone not understanding how to architect software. Your code should be naturally composable rather than requiring permutations of every possible composition.

... kind of obvious, and yet most schools don't teach this. Because they teach CS instead of software engineering. So college kids learn functional composition but never learn how to actually apply it in real-world contexts.

Le sigh.

Quote of the week

Posted Aug 18, 2011 8:53 UTC (Thu) by alankila (guest, #47141) [Link]

I don't know what those classes do for real, but based on some of their names they might not be doing any more useful work than something like this:

for (int i = 0; i < array.size; i ++) {
array[i] = array[i].toLowerCase();
}

If so, it's another case of somebody constructing elaborate architectures for accomplishing trivial tasks. Giving more flexible tools to do this sort of stuff doesn't help: the key insight is to not do any of this stuff.

Quote of the week

Posted Aug 18, 2011 11:36 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

As far as I understand, it's more complex than that, as it builds a view of a collection.

Now, I have a similar problem with naming. If I try to use descriptive names I often end up with stuff like 'NullResultPropagatingSession'. And I don't really know how to make such names to be shorter.

Quote of the week

Posted Aug 18, 2011 10:14 UTC (Thu) by nye (guest, #51576) [Link]

>most schools don't teach this. Because they teach CS instead of software engineering

[NB: When you say 'school', I assume you mean 'university' since I've heard Americans use it that way a lot. But possibly I've misunderstood you and you really do mean children's education]

To be fair, if you choose a CS course instead of an engineering course, you should know what you're getting. I wouldn't blame a university for not having much engineering in its maths courses, and it's pretty much the same issue.

I'm not certain that's the problem at hand though - I'm struggling to imagine how you could learn the concept of functional composition in even the most abstract theoretical way and still come up with the examples given.

Quote of the week

Posted Aug 18, 2011 18:07 UTC (Thu) by dlang (subscriber, #313) [Link]

if you want to learn programming, there isn't a computer engineering department, just a computer science department

Quote of the week

Posted Aug 19, 2011 4:43 UTC (Fri) by speedster1 (guest, #8143) [Link]

At my university there was both a CS department and an ECE department, Electrical and Computer Engineering. ECE majors were required to take some core hardware classes (e.g. circuit theory and intro to solid state), but afterwards we could focus on computer engineering (computer architecture, UNIX/Linux, data structures, OS programming, computer vision...). Plenty of opportunities to learn programming.

Quote of the week

Posted Aug 25, 2011 22:16 UTC (Thu) by wtanksleyjr (subscriber, #74601) [Link]

That's exactly how UCSD was... But as a CS major, whenever the CS and ECE cohorts met in a single class it immediately became clear what sort of class it was -- if it was electronics, ECE would ace the grade curve; if it was programming, CS would. The fun part was when EEs would come in to a later part of a series in electronics and CRUSH both cohorts.

In summary... Unless you want to write device drivers, you'll probably be better challenged taking CS courses than ECE ones; your competition will be a lot more serious.

At least at UCSD.

Mixed majors are a different thing; but again, if you can get into the CS courses you'll get more of a programming challenge.

-Wm

Quote of the week

Posted Aug 18, 2011 10:07 UTC (Thu) by grandinj (guest, #5057) [Link]

It's not a Java thing, this thing seems to have started amongstthe C++ CORBA and other Remote Object people.
It's really just because people aren't thinking hard enough about proper namespaces and decent names, which can be fairly hard.

Quote of the week

Posted Aug 18, 2011 11:32 UTC (Thu) by NAR (subscriber, #1313) [Link]

On the other hand I've used to work on a project where the majority of function names were 3 or 4 letters long, like dsrq or nnm. I had absolutely no idea what these functions do, usually they were abbreviations of other abbreviations. Since vim can (mostly) automatically extend function/class/etc. names, it's not a big problem for me that the names are long as long as I can understand what it supposed to do.

Quote of the week

Posted Aug 18, 2011 15:11 UTC (Thu) by BaldHeadedGeek (guest, #1078) [Link]

Like beer, self-documenting code by using descriptive names for methods, classes, and variables is a good thing. However also like beer, sometimes people vomit on their shoes.

Quote of the week

Posted Aug 22, 2011 12:36 UTC (Mon) by mpr22 (subscriber, #60784) [Link]

I think the above should be in next week's Quotes of the Week.

Quote of the week

Posted Aug 23, 2011 12:00 UTC (Tue) by roblucid (subscriber, #48964) [Link]

I disagree they usually vomit over someone elses shoes ;)


Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds