Click here to Skip to main content
15,887,683 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: Is this a coding horror? Pin
Julien Villers29-Aug-11 2:21
professionalJulien Villers29-Aug-11 2:21 
GeneralRe: Is this a coding horror? Pin
BillW3329-Aug-11 3:02
professionalBillW3329-Aug-11 3:02 
GeneralRe: Is this a coding horror? [modified] Pin
annathor30-Aug-11 0:06
annathor30-Aug-11 0:06 
QuestionRe: Is this a coding horror? Pin
Paladin200030-Aug-11 3:38
Paladin200030-Aug-11 3:38 
AnswerRe: Is this a coding horror? Pin
annathor30-Aug-11 4:48
annathor30-Aug-11 4:48 
GeneralRe: Is this a coding horror? Pin
Nagy Vilmos30-Aug-11 5:04
professionalNagy Vilmos30-Aug-11 5:04 
GeneralRe: Is this a coding horror? Pin
Marbry Hardin30-Aug-11 5:34
Marbry Hardin30-Aug-11 5:34 
GeneralRe: Is this a coding horror? Pin
BobJanova30-Aug-11 6:17
BobJanova30-Aug-11 6:17 
I agree with you in principle: the code should be readable, so comments, or at least those which simply describe what is being done, should be unnecessary. However, we need comments for two reasons:

  • To cover why we are doing it. For simple cases this might be obvious from a function name, but even for trivial calculations, describing why you're doing it is useful. For example, which of these is clearer?
    surfaceVolume = volume * 298 * p / (T * 101325);

    or
    // Volume by ideal gas law at STP (25C, 1 atm)
    surfaceVolume = volume * 298 * p / (T * 101325);

    (Yeah I know I should have consts for those values and in similar real code I do.)
  • Sometimes the language feature won't let us express our thought without a bunch of syntax. In a procedural scalar language like what most of us use, this is particularly true for array operations. E.g.
    // a + b
    double[] r = new double[a.Length];
    for(int i = 0; i < r.Length; i++) r[i] = a + b;

    Experienced people might be able to read a loop and immediately process it to what it represents, but many won't be able to. Linq helps with certain categories of syntax (complex foreach loops to filter an enumeration), but array-based maths still needs comments for what you really mean.

GeneralRe: Is this a coding horror? Pin
GibbleCH30-Aug-11 11:42
GibbleCH30-Aug-11 11:42 
GeneralRe: Is this a coding horror? Pin
BobJanova30-Aug-11 23:12
BobJanova30-Aug-11 23:12 
GeneralRe: Is this a coding horror? Pin
GibbleCH31-Aug-11 3:56
GibbleCH31-Aug-11 3:56 
GeneralRe: Is this a coding horror? Pin
BobJanova31-Aug-11 6:04
BobJanova31-Aug-11 6:04 
GeneralRe: Is this a coding horror? Pin
GibbleCH31-Aug-11 7:50
GibbleCH31-Aug-11 7:50 
GeneralRe: Is this a coding horror? Pin
BobJanova1-Sep-11 0:40
BobJanova1-Sep-11 0:40 
GeneralRe: Is this a coding horror? Pin
YSLGuru2-Sep-11 6:57
YSLGuru2-Sep-11 6:57 
GeneralRe: Is this a coding horror? Pin
I.explore.code30-Aug-11 5:30
I.explore.code30-Aug-11 5:30 
GeneralRe: Is this a coding horror? Pin
patbob30-Aug-11 5:59
patbob30-Aug-11 5:59 
GeneralRe: Is this a coding horror? Pin
BloodyBaron29-Aug-11 22:38
BloodyBaron29-Aug-11 22:38 
GeneralRe: Is this a coding horror? Pin
GibbleCH30-Aug-11 11:44
GibbleCH30-Aug-11 11:44 
GeneralRe: Is this a coding horror? Pin
BloodyBaron30-Aug-11 22:21
BloodyBaron30-Aug-11 22:21 
GeneralRe: Is this a coding horror? Pin
GibbleCH31-Aug-11 3:56
GibbleCH31-Aug-11 3:56 
GeneralRe: Is this a coding horror? Pin
BobJanova31-Aug-11 0:03
BobJanova31-Aug-11 0:03 
GeneralRe: Is this a coding horror? Pin
Rob Grainger6-Sep-11 0:58
Rob Grainger6-Sep-11 0:58 
GeneralRe: Is this a coding horror? Pin
Eusebiu Marcu30-Aug-11 2:46
Eusebiu Marcu30-Aug-11 2:46 
GeneralRe: Is this a coding horror? Pin
BobJanova30-Aug-11 2:51
BobJanova30-Aug-11 2:51 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.