Data structures Arrays Data structures representing collections should be array-accessible and/or iterable Data structures representing individual items should use getter functions Associative arrays should only be used for simple key-value-pairs Use built-in functions rather than operators to manipulate array contents Class methods Static classes should only be used when truly stateless Private methods should be preferred over anonymous functions where appropriate Anonymous functions should never exceed 5-10 lines