EfficientProgramSeven habits that members should develop
For software engineers, work may mean a lot of things--Stable income, projects you are interested in, a stepping stone for a better job, or you just like to work with other programmers. But speaking"Efficiency"It emphasizes the ability to complete projects by quality within a certain period of time.Phil ChuAccording to your own experienceSeven habits that efficient programmers should develop. We recommend that you check the author's original article.(Proxy may be required for normal access).
I.Understand your needs
To become an efficient programmer, you must first know how to control your time correctly. The greatest waste of time is to do projects that are useless or will never go online.. The root cause of such results is often the deviation in understanding the requirements.
To avoid this situation to the greatest extent,The best way is to quickly create a model and try to make the demo system come out early. For customers, they are only interested in trying and observing the products they can find in their actual operations.. Otherwise, even if you write hundreds of pages of requirement analysis documents, you can only write them one by one. The customer may not be patient enough to check whether these documents are accurate.
On the other hand, you should allow the development results of each stage to be submitted to the customer as soon as possible. Let them discover the inherent limitations of thinking in programmer programming with dummies that do not fully consider operational rationality and business logic. In particularQAGet involved in project development as soon as possible. If you can submit a test versionQANaturally, it is the most ideal, but most project development cannot achieve this granularity, So we strive to submit a test version every week. It is important to makeQAAnd Development can maintain a staggered parallel state. Only in this way can we makeQAEarly DetectionBug, Reduce eachBugAnd reduce the span of the independent test cycle.
Programmers often do not want to integrate semi-finished productsCodeDelivery to testers, on the contrary, they prefer to allow others to test after all the code is completed and satisfied. Because the code before this often has many programmers who know that the process to be modified (or deliberately leave it for future completion) is missing andBugThe tester does not know what is true.BugWhich are temporary operation errors?BugFeedback to programmers. This often upset programmers. At the same time, testers sometimes do not like to test intermediate versions that many branches cannot access.
But whether you like it or not, testing and discovering problems are the work of testers. programmers should realize that,BugThe sooner the feedback is, the better it is.QAThe relationship with development is often very hostile, but the goals of both parties are actually the same."Zhongyan"Since ancient times, programmers should"If yes, you can change it.". After the project is completed, a bunch of problems will be discovered, and modifications will be made at that time, and the pain is the programmer himself.
II.Maintain authenticity
Try to make your system run under the nearest real environment configuration, use practical data and real compiled versions, and integrate modules on a regular basis. If the data you use in your test environment is randomly added, the real data that is very different from the test data will soon crash your program.On the other hand, if you compile and run the test only in the development environment, you will find a variety of inexplicable problems after the official release, in the end, it turns out that the Environment configuration is slightly different from the development environment. Integrating all modules for compilation and joint debugging seems to be an additional task, but in fact this is a task that needs to be done frequently during the development process.. Only in this wayQAIn order to have the most complete things to test and get moreBugFeedback, while reducing the difficulty of module integration.
III.Understand your code
Write standard code and keep the code clean.CodingIt is an art. Just like writing, the same text in the pen of Wen Hao can be brilliant, and the reading is pleasing to the eye; in the pen of ordinary people, it is probably just the effect of reaching the word; in some people's writings, it may take half a day for them to guess. Of course, it is impossible for everyone to become an artist, but at least you can learn to appreciate art and learn art. Writing beautiful code is a respect for your work and a respect for other programmers. If your code is filled with outdated comments and variables with poor readability/Function, how to ask others or themselves to understand them in the future?
4.Optimal Programming
Spend your time on code functions,Instead of modifying the existing code to your own appetite (especially for thoseCopy/pasteTo find the bottleneck of the system for optimization, rather than useless to those areas that are not conducive to the overall performance improvement of the system.
5.Manage yourself
Some may say that the plan and progress control arePMBut a good programmer should be betterPMLearn more about the progress of your current work. No matter whether the above-mentioned progress plan is reasonable or not, you should have your own principles and concepts to clearly know What to do every day.
6.Continuous Education
Only by constantly studying, practicing, and making mistakes can you actually improve. In my opinion, for programmers, the best teachers are not in school, but in books, networks,Community. Learning to Learn can keep pace with the times.
7.R-E-S-P-E-C-T
Mutual respect is the foundation of everything.
We should learn to cherish each other.