Over the years I've seen what is considered to be the correct way of programming a PLC. A couple of examples; double latching is considered a no.
The other one that I hear a lot, the software should be simple enough that the maintenance guy/gal understands it.
I've put up two points ...latching...