Take notes on "45 habits of efficient programmers"

Source: Internet
Author: User

EfficiencyProgramThe subtitle of the book 45 habits of members is the way of agile development and practice. This is a book about agility. If you have never touched agility before, from this book, you can understand the core points of agility.

This article focuses on three aspects: content, concepts, communication, and coding.

 

Concept

First of all, from the perspective of concept, the agile declaration is indispensable:

Individuals and interactions are better than processes and tools;

Workable software is better than comprehensive documents;

Customer collaboration is better than contract negotiation.

Responding to changes is better than following the plan;

 

Agile development has changed the entire development process;

Traditional waterfall models focus on design. Senior architecture designers make the design in no small detail, and then let the small soldiers develop the model. In the face of demand changes, the model is usually very weak;

Agility is opposed to manipulation of development through design, and the re-design is changed to design guidance;

 

Communication

Communication is the core of agile, involving team communication and customer communication.

Team communication

Strive to be a mentor in the team and share your knowledge. Before sharing your knowledge, you have a preparation process. You need to give your knowledge to others in a systematic manner so that others can understand it, your preparation and explanation process improves your understanding of the problems you have encountered before.

The process of knowledge sharing is not only explained, but also an important aspect of text sharing. Here we mention the importance of Wiki and include your knowledge into wiki, the benefit is not only the current team members, but also the future team. In this way, your knowledge has been inherited;

A lot of Wiki writing can also make your work easier. For example, when a colleague asks you a question, you can give him a link to "go to wiki, here it is very detailed ", it feels great, isn't it?

We have discussed the benefits of Wiki in detail before. Portal: Company wiki. Have you set up it?

 

In order to achieve effective communication, agile proposed two interesting meetings:

The first is the daily meeting, which is an essential part of agile. It is to come out for discussion every 15 minutes and answer three questions:

What have you done this day?

What are you going to do tomorrow?

What problems have you encountered?

This site meeting is not a place to solve the problem. You just raised the problem you encountered and placed it after the meeting.

The second is a lunch meeting, which means that everyone can eat and chat freely. A specific person can share some books. Of course, it can be a non-technical field; of course, it is also a sharing process that can improve the cohesion of the team.

 

In addition to our language communication,CodeIt is also used for communication. Remember that the number of Code reads is much greater than the number of words written in the code. Agility emphasizes the collective ownership of code, that is, code is shared by everyone, rather than being proficient in one piece of code.

The collective ownership of code is achieved through team task rotation. It is no longer a person and has been working in a specific small field. In this way, this ensures that you understand the entire project.

Considering that the code you write is for others, you will write it more carefully and add comments reasonably;

 

Communication with customers

Make sure that the communication tools are concise and easy to understand when communicating with customers. For example, we use Word and XLS forms on a daily basis. Do not use over-professional tools or terminology;

When the business is vague, it is up to the customer to make decisions and listen to the customer's voice. There is no need to worry about changes to project requirements caused by the customer's decisions. agility is used to adapt to changes;

We strive to see our final customers as soon as possible. If conditions are met, we will show you our model after each iteration, which is more intuitive than text communication, it is also easier to find out the real needs of customers;

When the customer finds that this is different from what he wants, he must quickly respond to the customer's needs and put it in the next iteration as soon as possible.

 

Encoding

Encoding is the main content in Chapter 6. The specifications and skills mentioned here are not only applicable to agility.

For example, to use technology properly, you must not be overly infatuated with the model. If a model is used to make the system complex, the loss is worth the candle.

Continuous integration and frequent integration are promoted here. We wrote the code that day and submitted it to the version library. The system can integrate the code into our entire system and then run the unit test cases and integration cases, A detailed report is provided after completion;

It can be seen that the premise of implementing continuous integration is that there is an automated deployment environment, which allows us to implement automated deployment and integration after code submission, and easy incremental programming.

Book Mind Map Reading Notes:

Download :(45 habits of efficient programmers. MMAP)

Electronic trial :(45 efficient programmers)

Posted by: Large CC | mar25, 2013

Blog:Blog.me115.com [Subscription]

Weibo:Sina Weibo

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.