Almost every project, each company will define its own coding specifications. But when it is actually implemented, it intentionally or unintentionally violates the code specification. Programmers don't like to change their programming habits. In addition, the management of quality control is insufficient, resulting in coding norms often form the same. Some people will think that: adherence to coding standards can not bring benefits to the project, nor let the customer see our efforts to this end, it is completely spontaneous behavior of the team, there is no need to do hard requirements. Others have better reasons: coding standards can undermine creativity and procedural quality. In my opinion, coding standards play an important role in software components and project management, and even in personal growth, and good coding practices are one of the most effective tools for improving our code quality.
The important role of coding specification:
One, the code can promote the team cooperation a project is mostly done by a team, if there is no unified code specification, then everyone's code must be different style. And don't say there will be multiple people at the same time to develop the same module, even if the division of labor is very clear, wait until the integration of the code has enough headaches. In most cases, it's a pain to read someone's code, rather than having a complex algorithm or complex logic in a program. The unified style makes the code more readable, and people can see that any piece of code will be unusually familiar. Obviously, the normative code is very useful and necessary in the collaborative development of the team.
Second, the code can reduce the bug processing many it people will programmers than do migrant workers, which is indeed very image. As mentioned earlier, complex algorithms or logic accounts for only a small percentage of the project, mostly just base code work. But the more simple, the more bugs are tested, and the bugs are endless. This is due in large part to the fact that the code is not standardized. There is no specification of the specification of input and output parameters, no canonical exception handling, no standard log processing, etc., not only cause we always appear like null pointers such as low-level bug and it is difficult to find the cause of the bug. Conversely, in the development of the norm, the bug can not only reduce effectively, but also make it easy to find bugs. The norm is not a constraint on development, but it really helps to improve the efficiency of development.
Third, the code can reduce maintenance costs as our project experience accumulates, we will pay more and more attention to the cost of later maintenance. The quality of code in the development process directly affects the cost of maintenance. So we have to be cautious when it comes to development. As mentioned in the 1th, the code has greatly improved the readability of the program, and almost all programmers have done maintenance work, needless to say, the cost of high-readability code maintenance will inevitably be greatly reduced. However, the maintenance work is not only to understand the original code, but to make changes based on the original code. We can first imagine the absence of a unified style of the case, a completed development, b maintenance plus a piece of code, over a period of time C plus a section of code ... Until one day x saw that a lot of garbled heart to die, and maintenance will not go on. Therefore, a unified style is conducive to long-term maintenance. In addition, good code specifications constrain the measurement of methods, the measurement of classes, and the coupling of programs. This does not occur if you need to modify a method of thousands of rows or to extend a class without an interface. The code of the specification increases the extensibility of the program and is undoubtedly a reward for the maintenance personnel.
IV. specification code for code review I personally prefer to review the code so that some errors can be corrected in a timely manner, and the code specification of the developer can be supervised. The code review of the team is also a good learning opportunity, which is also beneficial to the progress of the members. However, the effort and difficulty of developing discretionary, heavier code reviews and making code review work without a basis, wasting a lot of time but with little effect. Code specification not only makes development unification, reduces the review of the governor, but also allows the code review to be documented, greatly improving the efficiency and effectiveness of the review, while the code review also facilitates the implementation of code specifications. More than a swoop, why not.
The habit of developing code norms helps programmers grow even if they understand the benefits of code specifications, but some are pressured by the project, some because of cumbersome specifications to make a lot of extra work, but also do not pay attention to maintenance problems, and difficult to implement code specifications. Well, we need to understand that the norm development of the largest beneficiary is actually their own! Have you ever spent a lot of time looking for your own code? In particular, when a bug occurs, line-wise debug is required? The code that I wrote was confusing and I did see a lot of it. What we should do is to standardize development and reduce our own mistakes. Many times the stress of the project is partly due to the many problems left over from the previous development. Some people feel that they can complete the high-difficulty algorithm, they think their ability is very strong, do not put the norms in contempt. Many people really do, the pursuit of personality, probably let others see his code confused more proud. It is true that complex algorithms can embody your personal logic, but they do not represent your level of development. We know some open source projects, and some master characters write programs that are extremely prescriptive. It is not the norm that represents a high level of code, it is actually the norm that helps you understand the understanding of developing a language understanding schema, and can help you quickly improve your development level. Do not understand this, even if you write a clever algorithm, maybe one day also be used as garbled do not dispose of. Remember! Daily base garbled (perhaps you do not think, but most of the time in the eyes of others is really garbled) does not make you get more progress, on the contrary to achieve a high level of programmers, develop good development habits is absolutely necessary. Do not indulge the surface of the gains and losses, seemingly useless things to go through the gradual accumulation of quantitative changes to achieve qualitative changes, you can feel its value.
At the end of the day, "Any fool can write code that can be understood by a computer, and it is only a good programmer to write code that is easy for human understanding." "It is very simple to develop a development code that conforms to your company's situation, and it is important that we recognize the importance of the norm and adhere to the normative development practices."
Importance of coding specifications