5 best practices for responsible coding