About best practices and why I love them!
Best practices are always a hot topic. I love them because I like to do things in the way most people do it. They help me to improve my job and we can adapt our needs and styles to them. I think we must not go so much far from them or we can be disoriented.
What about style guides?
Best practices are easily related to the style guide and vice-versa. If you are a developer you know that there are rules to follow and the style guide about coding will be very useful. Especially if you are working in a team. But trying to build a style guide that is not so far from common best practices for a programming language or technology can be great. There are many advantages:
- The code will be elegant
- They will have high quality
- Any other developer can understand your code and read each line very easily
- Remember to have style guides for your tests. Unit tests, functional and acceptance tests are always very important!
What Agile Methodologies say?
No one can say that Agile methodologies encourage to use of best practices. But it's yes for sure! You are encouraged to use Extreme programming, testing, and Continuous integration so you will follow best practices to save time, be well organized, and make all possible efforts to work more and more effectively. But there are no written rules.
Best practices are used to improve the efficiency, quality, and effectiveness of the development process. Some common best practices in agile development include:
- Continuous delivery and deployment: This practice involves automatically building, testing, and deploying code changes to production as soon as they are committed to version control. This helps to reduce the time it takes to get new features and fixes to users, and allows teams to deploy more frequently and with less risk.
- Test-driven development (TDD): This practice involves writing automated tests for new code before writing the code itself. This helps to ensure that code is well-tested and works as intended, and can also help to identify defects early in the development process.
- Pair programming: This practice involves two developers working together on the same code, with one developer writing the code and the other reviewing and providing feedback in real-time. This helps to improve the quality of code and can also facilitate knowledge sharing among team members.
- Continuous integration (CI): This practice involves automatically building and testing code changes as they are committed to version control, in order to catch defects early and prevent them from being introduced into the codebase.
- Refactoring: This practice involves improving the design and structure of code without changing its functionality, in order to make it easier to understand, maintain, and extend.
- User stories and acceptance criteria: In agile development, user stories are short, simple descriptions of a feature or requirement from the perspective of the end user. Acceptance criteria are the specific conditions that must be met in order for a user story to be considered complete. Together, these help teams to focus on delivering value to users and to define and track progress towards specific goals.
These are just a few examples of best practices that are commonly used in agile software development. The specific best practices that are most effective for a given team or project will depend on a variety of factors, including the team's size, the complexity of the project, and the tools and technologies being used.
For me, there are more pros than cons about following best practices. Just create your style guides or have your own rules but if best practices work for many people, why can't they work for you?