planning ahead to take steps against potential misuse (e.g the app X prevents the same tweets sent twice in a row as it might be spam).
input sanitisation
checking and cleaning up data that has been input (e.g removing special characters to prevent a SQL injection).
validation
checking whether input data follows specificcriteria and should be accepted (e.g a length check on a password).
verification
checking whether data that has been entered is correct (e.g double entry).
authentication
ensuring only authorisedusers can gain access to a system (e.g usernames and strong passwords).
maintainable code
allowing other programmers to easily read and quickly understand code that has been written (e.g using comments, indentation and appropriate variable names).