How programmers improve their productivity

Source: Internet
Author: User
Tags using git


As the saying goes, the world martial arts, only fast not broken. In other words, to practice the world Master words, the speed must be fast, so as to be in the lake on the foothold, not to lose the head. Programmers need to be more efficient in the IT world if they want to mix it up. It industry all the times have a new knowledge, new technology, to keep up with the change must have a few brushes.

And I personally like a variety of ways to improve their efficiency, you can share some experience.

The Keyboard Foundation should be solid . Use standard fingering when tapping the keyboard. You may think this is the basic skill of a programmer, but I find that many programmers do not. I was impatient to see the clumsy fingering when they knocked on the code. In fact, the standard fingering is not difficult, for quite a year I still refer to Zen, typing is very slow, painful fixed thinking, in a week I type must use standard fingering, and then awkward also insist, a week later to adapt to the standard fingering. Now, the flying of the fingers is a little bit. Practice fingering and keyboard speed can recommend some websites: Http://10fastfingers.com/typing-test/english, this is the practice standard fingering, I can easily on WPM (60 words per minute), There is a foreign colleague can reach more than 130, that is called horror. Http://typing.io/lessons, a website designed for programmers to practice knocking code, incorporates parentheses and punctuation, which is a bit difficult.

to familiarize yourself with the various shortcut keys and attributes for the IDE. The IDE is basically the longest-working software used by the code farmers in their work hours. First of all to choose a hand in the IDE, as the saying goes, work yucheng its business, its prerequisite well. If it is the C # camp that must be the latest version of Vistual Studio, if it is the Java camp of course is IntelliJ (eclipse as the open source IDE, really than IntelliJ). I now use IntelliJ can be in 95% of the case without a mouse, full keyboard to complete most of the operation of the development process. I think there is no common shortcut keys, not commonly used shortcut keys, as long as you know the shortcut keys to use. In particular, a variety of refactoring shortcuts must be proficient, when I see the code to modify the variable name without refactoring shortcut keys, but their own manual in the reference of the place to change, and then compile check wrong, really for them to catch urgent. There are a variety of inline,introduce shortcuts are really good to use to the explosion, mastered these shortcuts can be said to the code to do any refactoring does not cost ash, our attention also from the manual changes to the code to find out how bad taste. Vistual Studio recommends installing ReSharper, whose development company is the same as the IntelliJ development company. In addition to refactoring shortcut keys, but also to master some of the characteristics of the IDE, such as debugging can be inserted into the specified conditions to kill the breakpoint, and so on, these will be the usual accumulation and learning, as well as curiosity. I bet you look at the IDE menu now, there are at least 30% features you have never used or do not know what is used, in fact, some of the functions are very practical, but you did not try it.

at least a good command of a shell terminal . As a programmer to use the graphical interface of the old, to use the old command line interface to show your profound. Mouse point interface who will, and the command line interface is not who can be steered. Some features are more efficient n-fold than the graphical interface at the command line. For example, when I submit a file using Git, I look at the command line to see which files have been modified, which are newly added, and which ones are modified. The use of a graphical interface to point with the mouse point, the efficiency is too low. There are too many terminals under the Linux system, it is not recommended. Mac system recommended the use of ITerm2 this shell, which is more than the terminal with a lot of practical features, but also easy to switch their favorite color. Windows Power shell, of course, is the next most. The Windows Power shell itself integrates common utilities and is seamlessly integrated with the. NET Framework, which is far less than the class Linux simulators (such as Cygwin) on Windows.

have the skills to write a shell script . The light will not work with existing scripts, but will also write scripts to achieve some of your specific goals. For example, when I use a terminal on a Mac machine, it's often necessary to hop around in different directories and play a bunch of CDs each time ... it was a hassle, and then I wrote a gadget that could alias the specified directory and just click on the alias to jump to the directory (see http:// www.huangbowen.net/blog/2013/02/16/gtshell/). And when I'm working on a Windows system, I often write power shell scripts, such as a command to start a specified FTP server, and some small commands to quickly switch between different project source code and execute build commands. These commands are simple to write and help in improving productivity, because some commonly-used, time-consuming operations that are repeated n times a day are annoying, and if you can automate them with a script, it's liberating.

Multi-language programming . There are too many programming languages in the world, and a little popular programming language has its own unique advantages, and we have to be good at taking advantage of the characteristics of each programming language, rather than noisy that language is more powerful. I'm familiar with C #, the Java language, and I've done things with JavaScript, Ruby, Python, and groovy, and I've even learned the Haskell language specifically to understand functional programming. These languages have brought me practical results. For example, I write a plugin with Ruby, can automatically sync my main station blog to blog blog. I use groovy to write units and integrate tests for my Java code, much faster than writing in the Java language. I used Python and webdriver to write a forum irrigation tool to brush points. The more languages you have, the broader your horizons and the deeper your understanding of programming will be. Of course I do not agree to blindly ask for more, at least you have 2 to 3 proficient language, from language grammar, language runtime, language characteristics, language API and so on to have in-depth study and insights, when you learn other languages will not float on the surface.

This is the most important point, always keep a curiosity, a firm determination to improve efficiency . Many people are holding a similar attitude, thinking, "I am not standard fingering, knocking on the keyboard speed is also similar", "I am not using the IDE shortcut keys, and did not feel that there affected my development," I will only C # a language, still do not do so now. "The idea is that you don't see people who are really efficient. I have seen a certain IT industry cattle that superb vim operation, it has been beyond the point of which to hit the realm, has reached the state of the key with Echocardiography. I also see a senior programmer using IDE shortcuts to envelope an ugly piece of code to obey orders. I was hardened by this determination, not to do almost sir. So when I work with my co-workers, I pay attention to what methods and tools they have to improve their productivity. If they use some handy shortcuts and I don't know, then I'll write it down for myself next time (I'm already a number one for our project team on the keyboard proficiency level). If I see them using some good tools I will immediately go back and download it myself. (For example, I saw colleagues using Superputty to connect to a remote host two days ago, and it supports multiple tabs, which is exactly what I want.) I go back to download immediately, abandoned the previous putty) such a long time, set the director of all, you naturally become the efficiency of people.

For me to pursue the lofty efficiency that. I think the biggest benefit is that my brain can be freed from heavy repetitive work so that it can concentrate on more valuable things rather than being disturbed by some murmurs.

Original information:

Author: Bowen @ Invincible North Melon

Source: http://www.cnblogs.com/huang0925
Bowen's turf.

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.