When you only have production environment to test your code
-
This problem has been *already* been solved. Many times over. Since computers were invented. By NASA, by the Military, by safety critical industries. Seek education in their solutions.
-
jschell wrote:
In normal server work there are ways to help with the situation.
1- Add logging (over time one would just use the log output.)
2- Build a simulator (over time it gets better.)
3- Unit testing.
4- Very rigorous design (at implementation level) and rigorous code reviews.1. That is how I was able to figure out what is going on. Logging every condition and messages sent and received and all the variable values when it fails 2.The controller I am using is from a company in Germany... Manual ? what is that ? .. Some old flowchart is what I had to program it with... 3. Unit testing/ BA Testing / UAT did not pick up those errors because if you produce few items it works like a charm but when it is constantly being used and one of the production line needs a response time of max 1.5 second it gets complex with full factory using the application on same network and controller is connected to network via WiFi.... 4. Code Reviews ? Who will do that when you are the only developer ;P ....I have to put a hand on my heart and tell them that it is not the code that is failing but something else is causing it... I have to deal with PM who keeps on insisting that it must be your code that is wrong... No technical help just keep looking at the flow chart and keep insisting you must be doing something wrong...
Zen and the art of software maintenance : rm -rf * Math is like love : a simple idea but it can get complicated.
virang_21 wrote:
4. Code Reviews ? Who will do that when you are the only developer
As I suggested - do it yourself. Actually I have often found that I must do that myself with critical code even when there are other developers because they just won't take it serious. Walking through my own code, just the critical pieces, not immediately but after a day allows me to verify logic if I do it in detail.