Avoid mistakes by testing thoroughly before delivery. Diff your branch with target branch before opening a pull request and make sure you understand the reason for every change and are confident your changes have no side effects on other parts of system they're being incorporated into. Side effects are not only breaking functionality in other components, but could be things such as reducing overall performance of a Website or adding complexity that can make maintenance difficult.
Make scope and requirements clear before you start. Not only this makes development easier, but allows you to provide a more accurate cost and release estimate.
Don't promise anything you are not confident you can build. Build a fast minimal prototype to ensure feasibility before engaging on anything you have not done before.
Do not use a new technology or approach just because it’s trendy. A new technology or approach should help you resolve a problem in a better way and its pros should outweigh its cons.
Take full responsibility for what you deliver. You are responsible for every piece of code you deliver, even code from external libraries or open-source resources that find their way into your delivery.
Provide life-time guarantee on what you deliver and immediately fix any bugs discovered at no costs.
Adhere to established best practices and guidelines in your code.
CSS tips and best practices
Comment any rule that its purpose is not obvious.
Use content: none; to hide pseudo elements (::before, ::after) rather than display: none;.
Avoid "!important". If you have to use it, add comment to explain why.
Avoid negative margins. If you have to use them, add comment to explain why.
To target the first x children of an element, use :nth-child(-n + x).
To remove hover underline from a::before set a::before's display to inline-block.
Do not use css to hide elements and instead use HTML5 attribute "hidden".
Use -webkit-overflow-scrolling: touch; to apply momenutum-based scrolling to an element on touch devices. Read more
Check browser support before using new css properties.
All css rules for a component should be name spaced to avoid affecting elements outside that component.