Since we have a full supportdesk at the office. we aren’t responsible anymore for updates, etc. So this actually means we just have tpo focus ourself on just development. Sometimes the suportdesk passes a small problem or site update to us tru. In these causes we have to do the engineering, support will do the S final Sitecore updates/database updates/deployment.
For this reason we have some rules how you should defense your code. The update procedure:
– Update external sources like external databases
– Install Packages with changes in Sitecore
– Full publish Sitecore
– Place new DLLs
– Update configuration files
During this process, everything should work. No yellow errors may appear. So this means we actually always have to check if every item/configValue/field we retrieve, or expect that we should be able to retrieve, should we checked if it’s null or empty. Ofcourse this is always the best way. But when you are developing small pages, with no logic, just binding predefined field-values to label is really fast and easy.
Another thing we have to look at are the changes in templates and masters. You should definitelly track which changes are made and in which order. Sometimes is iusing different packages for templates, masters and items a good idea.
All described above should be done and known by every engineer, altough most engineers think they write defensive code. In reality you will see that writing defensive code isn’t so easy at all. Just try it. Update your development-environment with soem patches on the way described above and lookat the functionality. Is it broken after any of the steps? What did actually cause the problem?