|
A really well thought out post to a weak/confusing survey.
Mike Barthold wrote: Why are we so forced into releasing bugggy software?
IME, it's the lack of testing/dogfooding. It's definitely something I could do better at!
"Go forth into the source" - Neal Morse
|
|
|
|
|
2 words.
Profit. Margin.
Software development is costly and hard to sell. Got to keep the stakeholders happy somehow.
|
|
|
|
|
How do you ensure that code is easy to debug?
The only methods that came to my mind are using intermediate variables, asserts, and trace outputs.
Intermediate variables make the source code larger with the chance to introduce new errors. The other two are also falling into the category "ensuring that code is bug free as possible".
So there is no choice for me.
|
|
|
|
|
Jochen Arndt wrote:
Intermediate variables make the source code larger with the chance to introduce new errors.
I have to disagree with that. Something like:
integer slack_space = <cryptic expression>?3:4;
adds significant meaning and intent (compared to an anonymous inline version and assuming "slack_space" is well chosen), reduces the mental workload when the code is revisited, and certainly adds less chance of introducing errors than typing in the same expression twice or more.
In my experience, however, very few programmers actually code like that.
-- modified 26-Jun-18 14:10pm.
|
|
|
|
|
Member 10664505 wrote: integer slack_space = <cryptic expression>?3:4;
adds significant meaning and intent (compared to an anonymous inline version and assuming "slack_space" is well chosen), reduces the mental workload when the code is revisited, and certainly adds less chance of introducing errors than typing in the same expression twice or more. I concur completely, also it makes it easier to debug/update expressions and if the same expression might be used more than once it makes it faster too (and in certain scenarios performance are functionality).
GCS d-- s-/++ a- C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
If we can't make code easy to debug then how we can sure it is bug free.... LOL
|
|
|
|
|
You make your code "bug free as humanly possible" by making in it "easy to debug and fix", and "releasing" is seldom a developers decision but a managers one!
|
|
|
|
|
agree, also depends on target deployment i.e. how easy is to push the changes after fix.
|
|
|
|
|
Mehdi Gholam wrote: You make your code "bug free as humanly possible" by making in it "easy to debug and fix" Agreed.Mehdi Gholam wrote: "releasing" is seldom a developers decision but a managers one We have a (cue Pomp And Circumstance[^])CHANGE CONTROL BOARD who decides when we release software and what bug fixes are in each version.
Software Zen: delete this;
|
|
|
|