Architect Express-How to program efficiently

Source: Internet
Author: User
Tags checkstyle

Introduction

Zhao Yun shout a sound, quite gun sudden horse into siege, left rushed right suddenly, forcefully. The gun is all over, if the dance pear, bianben, such as floating snow.

Zhao Yun is my favorite of all the historical figures, if put to the modern, he walked the road of it, must be a master programmer. Why?

In fact, war in ancient times is also a technical work, need to prudent, and it does not have much difference. War to slim, repair skills, repair the right to the left, forcefully, the same do it also to slim, repair technology, repair device, to efficient programming, forcefully.

The cultivation of efficient programming

What is a slim, repairing and repairing device?

    • Slim, ancient and modern are the cultivation of their own physique and thinking, so that their physique strong, quick thinking
    • Skill, the ancient cultivation of their own martial arts and art, now cultivate their own design methods, patterns and design skills
    • Repair device, Zilong left-handed green 釭 sword, the right hand bright silver gun, cross the White Dragon Horse, a white helmet white armor, handsome to explode! Now our left hand xmind, right hand eclipse,uml at the foot, is also extremely xiao (KU) sprinkle (bi).

To be repaired to the yamahana, the demand clump, the leaf does not stick to the body.

Cultivation

Slim is a big topic, to talk about a few days and nights, so we will skip the first. Of course, after the slim, can be from the height of thinking to determine the direction of the big, but everyone looked at the topic is not very concerned about how to slim, so pass! After the omission of 100,000 words, I can be really high-yielding (royalties do not omit Ah, I am not afraid of trouble).

Repair Technology

Ancient techniques are a secret, and must have a unique method of work through arduous hardships to cultivate success. Now, there are a lot of books and videos, and I This let People shoppes (mention) thrillingly (pot) empowerment of a good tutorial, so you just need to eat a little bit of pain can be practiced, I calculate AH ——-you probably experienced 999 9999 bitter on it, see less 1 points.

    • Unknown people: Hit him, beat him brother-
    • Ya Mei Butterfly, beat me not, hit me brother-can.
    • Oh, come on, tap.
    • Yes, gently.
    • Be gentle.
    • Point
    • Unknown truth masses: KO
    • Please let me finish, 55555

The repair technique is roughly divided into:

    • Object-oriented, process-oriented design approach (centroid)
    • UML Design Language (scroll)
    • Design patterns, refactoring, XX best Practices (hands-on experience with ancestors)
    • Unit Test (sparring practice)

Such cultivation to 10 skill, can continue to cultivate the ultimate secret structure mode, otherwise will go mad, oom.

    • Unknown people: Wait a minute, we're talking about efficient programming, what you're telling us about object-oriented, you're crazy! Hit him, beat him brother-
    • Ibid., omit 100 words.
    • Please let me finish, 55555

Actually see the topic I first think of is also the use of programming tools, as well as the use of shortcut keys. Then I found out that it was 5% to 10% of my wasted time, and what really wasted our time was:

    • The boss said: "Gee, we are in the wrong direction, we re-engage in a direction!" (Products, code farming, testing in the heart of the snow, good cold, good tired, I want to excrement, cut him dead ...). For the money, let you have a dog's life.
    • Product said: Gee, demand is not like this, we should change to this ... (Yard farm 10,000 Grass mud horse ran)
    • Test said: Oops, so many bugs, quick to change (test heart despise look at you, rookie, cut!) )
    • Yard farming said: Gee, this place design is unreasonable, we need to reconstruct. Gee, this place if else much, I faint. Oops, this place is out of the ordinary. Gee, ... (ah, your mother!). You're done!
    • Unknown people: It seems to be a reasonable way to give you a dog's life first.
    • Thank you, Hero.

In fact, we look at these problems how to solve:

    • Boss's question, I do not explain, the boss is the most wise! (The boss is looking at the back). "Lean Entrepreneurship", "lean Entrepreneurship", seems to be a bit of a slim taste.
    • Product problems, some of the wrong place, you will feel wrong in the design, that is the problem. But some are directionality, which can be attributed to the first question. (product says: This pot is good to throw) "head first object Oriented analysis and design" "Field drive Design"
    • Test the problem, unit testing at least ensure the correctness of the most basic code, the above integration test, functional testing, system testing can be correct. "The way of unit testing" "test-driven development"
    • The problem of yard farming, the experience of the ancestors learned first, you will not have so many places to be. Refactoring, Head first design mode, code encyclopedia, effective Java, code neat Way

The scroll has been put in the back, please consultation fee!

    • Unknown to the truth of the masses: seems to be good, for the sake of the secret of the first to spare you a dog life
    • Thank you, Hero.
    • Unknown truth masses: Wait, the ultimate scroll didn't give
    • Sorry, dear brother, "Enterprise architecture Model", "large-scale website technology architecture"
Repair Device

There is a novel about the master has no need for good weapons, a leaf, a dead branch, can be divided into minutes seconds off a person. There are rumors that the most awesome developers use only text editors, Balabala, and an operating system developed.

I only ask one question, do you use the appliance, do you drive?

If you use, then continue, if not, then go away, liar, how you see my article.

The purpose of living is to allow more people to gain more freedom, freedom of time, financial freedom, liberty of person. The purpose of the development tool is to allow you to do some repetitive and tedious things faster, so that you have time to enjoy your freedom. So enjoy the use of tools, 工欲善其事, its prerequisite.

    • Unknown truth masses: Good greatness
    • I'm just saying, don't hit me.

To be efficient, the most commonly used tools must be cultivated to the fullest:

    1. Operating system, as far as possible to choose Apples, Ubuntu,window Second, when you use the command line to stay cool when you understand. Of course, if you use Windows, use shortcut keys as much as possible.
    2. Development tools, Eclipse shortcuts, unified formatting, refactoring capabilities, Findbug,checkstyle
    3. Automate the compilation of publications using Hudson for scheduled automated packaging and publishing
    4. Other tools, Xmind shortcut keys
    5. Time management, tomato working method control time
    6. Good framework, define a good framework, can save a lot of development time. The details are described in the framework I mentioned earlier.
    7. code generator, input UML design class diagram, automatically generate related classes, for objects that need to be persisted, can be implemented from the front to the back of the code to change and delete.
Actual combat

The product has been given to me by a user requirement, which I usually do:

    1. Analysis of the rationality of demand, not all requirements are reasonable, need to actively identify the problem. The problems found are discussed with the product, and if all the problems are resolved, the next step is done. If the development of the latter is based on an erroneous requirement, all development is a natural egg.
    2. Make analysis design, at least form UML's use case diagram and class diagram. For critical complex logic, determine whether design patterns can be resolved. Complex processes need to draw a flowchart, and if the state changes more, you also need to draw a state diagram. In UML design, you will still find the problem of demand, at this time still need to identify with the product, until all the problems resolved, only one step.
    3. Code implementation, according to the class diagram automatically generated related code, save oneself one after another to knock over the time, the front and back end of adding and removing change and so on repeated logic has already had, only need to write specific business on OK.
    4. Writing unit tests, you must write unit tests for custom code. This makes it easier to modify the code later or to perform integration testing.
    5. Findbug,checkstyle automatic Check, System Automation release, if there is a problem email notification.
    6. Self-test, self-realization function, the first self-test in accordance with the requirements of the general, to ensure correctness.
    7. Submit the test, found that the bug timely modification, the basic to achieve the day knot.
    8. Automated release on-line.

Of course, the middle will try to save a variety of time:

    1. Shortcut key Actions
    2. Tomato working method, set not disturbed time, engrossed input coding
    3. More than 3 repetitions, consider automating things like publishing, code checking, code generation
    4. Code specifications strictly adhered to, best practices strictly adhered to

Team efficiency

In fact, coding is not a person's business, teamwork is essential. The team tries to use the following management methods:

    1. Demand, design collective participation, no need to explain each other
    2. After the design of the division of labor, if there are new people to take the old combination of pairs of programming, complex code also to take pair programming.
    3. Implementation of results-oriented, from product, demand, design, development, etc., do not waste time to do results-free things
    4. Code specifications strictly adhered to, best practices strictly adhered to
    5. Standardize the process, constantly running through the personnel, to achieve silky smooth
    6. No single point of presence
Blessing

Above is I do the software since some sentiment, of course, 1000 people in the eyes of 1001 Hamlet, each will have the most suitable for their own method, I hope that we all early to build their own high-efficient programming way.

Architect Express-How to program efficiently

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.