T
Tom Anderson
Greets yalls,
For your edutainment, some code (lightly anonymised) seen while digging
into code written by some (now-departed) contractors today:
private static String header = "" +
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n" +
"<initech:tps-report><initech:coversheet> etc";
WTF: the empty string literal on the first line. What did they think that
was for?
Secondary WTF: writing XML by hand rather than using StAX or something.
That i'm less outraged about, because it's ordinary ignorance, rather than
the special kind of brainwrong reflected in the primary WTF.
Oh god, i've just spotted another one: the hardcoded CRLF! This is a
linux-only project (up to and including developing on linux VMs - the only
time you'd ever look at this file would be on a linux machine), and XML
normalises all line breaks to LF anyway. Why would you do that?
Still, at least it's not this, from the other end of the project:
private static final String TEST_DATA_QUERY = new StringBuilder().append(" select * ")
.append(" from tps_report, tps_folder where tps_folder.id=tps_report.id ")
.append(" and tps_folder.id=2057 ").toString();
I've got no beef with the SQL, that's fine, but WTF: the explicit
StringBuildering. The surplus spaces at the end of the strings and the
lack of indentation on the append lines are the icing on the cake. The way
the where clause is half on the same line as the from and half not is good
too.
None of this is strictly incorrect - it all works - but there's something
distinctly *wrong* about it. It doesn't fill you with confidence that the
important things are done correctly. Nor does actually looking at the
important things, as it happens, because one immediately sees that they
aren't.
tom
For your edutainment, some code (lightly anonymised) seen while digging
into code written by some (now-departed) contractors today:
private static String header = "" +
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n" +
"<initech:tps-report><initech:coversheet> etc";
WTF: the empty string literal on the first line. What did they think that
was for?
Secondary WTF: writing XML by hand rather than using StAX or something.
That i'm less outraged about, because it's ordinary ignorance, rather than
the special kind of brainwrong reflected in the primary WTF.
Oh god, i've just spotted another one: the hardcoded CRLF! This is a
linux-only project (up to and including developing on linux VMs - the only
time you'd ever look at this file would be on a linux machine), and XML
normalises all line breaks to LF anyway. Why would you do that?
Still, at least it's not this, from the other end of the project:
private static final String TEST_DATA_QUERY = new StringBuilder().append(" select * ")
.append(" from tps_report, tps_folder where tps_folder.id=tps_report.id ")
.append(" and tps_folder.id=2057 ").toString();
I've got no beef with the SQL, that's fine, but WTF: the explicit
StringBuildering. The surplus spaces at the end of the strings and the
lack of indentation on the append lines are the icing on the cake. The way
the where clause is half on the same line as the from and half not is good
too.
None of this is strictly incorrect - it all works - but there's something
distinctly *wrong* about it. It doesn't fill you with confidence that the
important things are done correctly. Nor does actually looking at the
important things, as it happens, because one immediately sees that they
aren't.
tom