i know you are a student, and this is a bit off the topic, but revelant.
i learned programming on the job, just like many others.
i have worked for machine builders for over 20 years, and this is one of the key things i have learned.
to me, you must find out what your customer wants and what your customers maintenance personnel can deal with.
it does not matter how efficient your code is in structured text, fuzzy logic, grafcet, sequencers, function block diagrams, or ladder logic and it doesn't matter how much it cost to build the machine you programmed, what does matter is that when the plc program hangs, faults, or has a problem, Maintenance MUST be able to debug the program in a timely manner and get production running again!
if you write the code and document it well enough so that maintenance can debug the problem, then you have done your job. If maintenance has to call you and together you solve the problem over the phone, you have also done your job.
ask your customer what they want, talk to maintenance and get an idea of what they are used to.
good luck.
regards,
james