+ 6
Lack of Error Checking
In looking at many codes posted, I've noticed I'm able to break most of them very easily. Why is their code so visually complex, yet they fail to include exception handling, and often are missing clear instructions on what input they expect. So, my question for these coders is: What are the best resources for learning more on exception handling and error detection/avoidance/correction? Should code that breaks easily due to lack of these be voted down, even if it functions well given valid input?
12 Answers
+ 12
In my opinion a good way to find errors is to write the code as simple and clean as you can. Also if possible get other coders to look through it.
+ 3
i think 'good' exception handling is well beyond the scope of this program, so it's hard to agree with downvoting them here without it, i do think that code should have its own discussion area here, like a reply section where people can easily suggest fixes, give input, its kinda difficult to post code, post a q&a and expect people to go back and forth to discuss it. only exception i think is challenge questions, those should be downvoted if broken enough to make the questions not have an absolute answer
+ 3
I've noticed the same thing. I personally try to handle as many exceptions as I can think of in my code no matter what, because it's good practise and good form, but as @William La Flamme said, "Good exception handling is well beyond the scope of this program."
I don't think code should be down voted just because someone failed to attempt to catch and handle exceptions.
My advice for error detection/avoidance/correction is to take a step back from your code periodically, and go "What happens if... ?". Then start coding contingencies from there.
At the end of the day, the only way to catch them all is to let others play around with it.
Speaking of letting others try to break things, give this one a shot. ;)
https://code.sololearn.com/cD6J4mr5mNdS/#py
+ 2
A few websites I find useful are:
HTML Reference: https://developer.mozilla.org/en-US/docs/Web/HTML
JavaScript Guidelines: http://jstherightway.org/
JavaScript Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript
CSS Reference: https://developer.mozilla.org/en-US/docs/Web/CSS
Another HTML/CSS3/JS Coding Platform: http://codepen.io/
+ 2
Martian1oh1:
Since I thoroughly enjoy breaking things, I gave yours a go. Very well written. I was able to bug it out, though. When given 0999, 0000, and -001 as first line input (all 1 as second), the program caught no error and generated calendars anyway. Your code comments mentions it basically accepts any integer for the year, as long as it is 4 digits long, and voila. (I am sneaky!) :P
Hopefully this reply catches your eye; didn't know how else to get it to you.
+ 2
@Sean VanMeter: Cheers. Should be corrected now. :)
+ 2
@Hussain Al-Umran:
Yes, it is possible to reverse it. The following would give you same results.
leapCode = 0
if yyyy % 400 == 0:
leapCode = 1
elif yyyy % 4 == 0 and yyyy % 100 != 0:
leapCode = 1
else:
leapCode = 0
+ 2
thanks
+ 1
in the code if calander is it possible to reverse the condition of the leap year to put 400 in the 1st the the 4 in els if ?
+ 1
@Martian1oh1:
I CANNOT BREAKZ IT!!! :( Excellent correction and additions. That's exactly how code evolves! Functional -> Useful -> Necessary
Seriously, though. Great code.
0
@Sean, how do you know that wasn't his intent :p 0999 =999 AD, - 001= 1BC, and 0000 is 1AD on some calendar formats lol
0
ma7in@gov.com