Click here to Skip to main content
15,902,891 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: Percent-decoding a URL Pin
Chris Meech24-Dec-08 2:24
Chris Meech24-Dec-08 2:24 
GeneralNULL Checking and Defensive Programming Pin
Swinefeaster18-Dec-08 19:11
Swinefeaster18-Dec-08 19:11 
GeneralRe: NULL Checking and Defensive Programming PinPopular
Deflinek18-Dec-08 23:07
Deflinek18-Dec-08 23:07 
GeneralRe: NULL Checking and Defensive Programming Pin
AshokParikh18-Dec-08 23:38
AshokParikh18-Dec-08 23:38 
GeneralRe: NULL Checking and Defensive Programming Pin
Robert Surtees19-Dec-08 2:56
Robert Surtees19-Dec-08 2:56 
GeneralRe: NULL Checking and Defensive Programming Pin
PIEBALDconsult19-Dec-08 2:58
mvePIEBALDconsult19-Dec-08 2:58 
GeneralRe: NULL Checking and Defensive Programming Pin
bmcleod19-Dec-08 3:28
bmcleod19-Dec-08 3:28 
GeneralRe: NULL Checking and Defensive Programming Pin
notmasteryet19-Dec-08 3:37
notmasteryet19-Dec-08 3:37 
You have good start with your superior¡ He is right about "Checking pointers for NULL throughout the code eats too many CPU cycles and seriously degrades performance". And, of course, pointer can be NULL.

Most people agree: to check pointers for NULL on every parameter in public or protected member of the class, and private and internal members shall not waste CPU to check for something that by logic will never be null. If you not sure about something you wrote, insert Debug.Assert (C#), assert (Java), or ASSERT (MS C/C++). They will be excluded from production code and it will "... just to crash and provide a stack dump" during debugging/testing.

Every code piece has to be executed during unit tests. And if you have something like if(obj == null) return false; and obj is never null according code coverage, then something wrong: either create test to cover that case (which will be impossible when it’s hidden inside private members), or just remove to not spend one CPU cycle Smile | :) .

Check also http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Contract-Oriented-Programming-and-Spec/[^].
GeneralRe: NULL Checking and Defensive Programming Pin
Le centriste19-Dec-08 4:58
Le centriste19-Dec-08 4:58 
GeneralRe: NULL Checking and Defensive Programming Pin
Randor 19-Dec-08 5:54
professional Randor 19-Dec-08 5:54 
GeneralRe: NULL Checking and Defensive Programming Pin
Nemanja Trifunovic20-Dec-08 15:21
Nemanja Trifunovic20-Dec-08 15:21 
GeneralRe: NULL Checking and Defensive Programming Pin
Randor 20-Dec-08 18:30
professional Randor 20-Dec-08 18:30 
GeneralRe: NULL Checking and Defensive Programming Pin
Nemanja Trifunovic21-Dec-08 4:16
Nemanja Trifunovic21-Dec-08 4:16 
GeneralRe: NULL Checking and Defensive Programming [modified] Pin
Nemanja Trifunovic19-Dec-08 12:07
Nemanja Trifunovic19-Dec-08 12:07 
GeneralRe: NULL Checking and Defensive Programming Pin
PIEBALDconsult19-Dec-08 17:10
mvePIEBALDconsult19-Dec-08 17:10 
GeneralRe: NULL Checking and Defensive Programming Pin
Nemanja Trifunovic20-Dec-08 12:55
Nemanja Trifunovic20-Dec-08 12:55 
GeneralRe: NULL Checking and Defensive Programming Pin
PIEBALDconsult20-Dec-08 13:44
mvePIEBALDconsult20-Dec-08 13:44 
GeneralRe: NULL Checking and Defensive Programming Pin
Nemanja Trifunovic20-Dec-08 14:46
Nemanja Trifunovic20-Dec-08 14:46 
GeneralRe: NULL Checking and Defensive Programming Pin
PIEBALDconsult20-Dec-08 17:00
mvePIEBALDconsult20-Dec-08 17:00 
GeneralRe: NULL Checking and Defensive Programming Pin
Nemanja Trifunovic20-Dec-08 17:08
Nemanja Trifunovic20-Dec-08 17:08 
GeneralRe: NULL Checking and Defensive Programming Pin
Nemanja Trifunovic21-Dec-08 4:19
Nemanja Trifunovic21-Dec-08 4:19 
GeneralRe: NULL Checking and Defensive Programming Pin
Dave Kreskowiak20-Dec-08 20:28
mveDave Kreskowiak20-Dec-08 20:28 
GeneralRe: NULL Checking and Defensive Programming Pin
Nemanja Trifunovic21-Dec-08 4:00
Nemanja Trifunovic21-Dec-08 4:00 
GeneralRe: NULL Checking and Defensive Programming Pin
PIEBALDconsult21-Dec-08 4:02
mvePIEBALDconsult21-Dec-08 4:02 
GeneralRe: NULL Checking and Defensive Programming Pin
Nemanja Trifunovic21-Dec-08 4:06
Nemanja Trifunovic21-Dec-08 4:06 

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.