keyboard skills to be solid. use standard fingering when tapping the keyboard. Maybe you think it's the basic skill of a program ape. But I find that the fact that there are so many procedural apes can't do that.
I was impatient to see the clumsy fingering when they wrote the program. In fact, the standard fingering is not difficult, quite a year I still a finger zen, typing very slow, the pain of the set. In a week I type must use standard fingering, again awkward also must insist. A week later, I got used to the standard fingering. Nowadays, it is a little small to say that it is a short-term operation. Practice fingering and keyboard speed can recommend some sites: Http://10fastfingers.com/typing-test/english, this is the practice of standard fingering, I can easily on the WPM (60 words per minute), A foreign colleague can reach more than 130. That's what it's called horror. Http://typing.io/lessons, a site dedicated to program apes to practice writing programs. The combination of various brackets and punctuation, the difficulty is a bit large;
2, to be familiar with the IDE's various shortcut keys and features. The IDE is basically the longest-working software used by yards farmers. First of all to choose a hand in the IDE, as the saying goes, the work Yucheng, its prerequisite. The assumption is that the C # camp is definitely the latest version of Vistual Studio. Assuming it's Java camp, of course it's IntelliJ (eclipse as an open source IDE, really more than just IntelliJ). I now use IntelliJ in 95% of the situation without a mouse, the full keyboard completed the development process most of the operation. I don't think there are any frequent use of shortcut keys, less frequent use of shortcut keys. You just need to know the shortcut keys to get used. In particular, all kinds of refactoring shortcut keys must be mastered, when I see the code farmers change the variable name without refactoring shortcut keys, but their own manual in the reference place one by one, and then compile to check the wrong, really for them catch the urgent. There are also various inline. Introduce shortcut key is really good to explode, master these shortcuts can say that no matter what refactoring the code is not to charge the power of ash removal. Our attention also shifted from the manual change code to how to find the bad taste. Installation of ReSharper is recommended in Vistual studio. Its development company is the same home as the IntelliJ development company.
In addition to refactoring shortcut keys. You also have to master some of the IDE's features. such as debugging can insert the specified conditions to hit the breakpoint, and so on, these will usually accumulate and learn. There is also curiosity. I dare say you look at the IDE menu now and then. There are at least 30% features you have never used or know what to do with. In fact, there are some features that are useful, just that you didn't try.
3, at least a skilled command of a shell terminal. as a program ape old with a graphical interface to the line, to use that ancient command line interface talent to show you advanced. Mouse point interface who will. and the command-line interface is not for anyone to ride. Some functions are more efficient than the graphical interface under the command line. For example, when I use Git to submit a file, I look at the command line to see which files have been changed and which ones are newly added. Which parts of the change are.
Use the graphical interface to point with the mouse. The efficiency is really 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 Mac comes with a lot of useful features, but also easy to switch their favorite color.
Windows Power shell, of course, is the next window. The Windows Power Shell itself integrates useful tools that are often used, and seamlessly integrates with the. NET Framework, which is a lot less than the class Linux emulator on Windows (for example, Cygwin).
4, have a certain writing Shell script Foundation. the light will not work with the existing script, and it will be scripted to achieve some of its own specific goals, depending on the situation.
For example, when I use a terminal on a Mac machine. You often need to jump between folders. Each time a string of cd …..
very troublesome, and then I wrote a small tool, can give the specified folder alias, want to jump to this folder only to knock alias can (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. For example, a command launches the specified ftpserver, and some small commands are used to enable high-speed switching between different project source code and running build commands. These commands are very easy to write and very helpful in improving productivity, because some frequently used time-consuming operations are repeated n times a day. Very annoying. Suppose you could use a script to make yourself active, wouldn't you be freeing yourself up?
5, multi-language programming. There are too many programming languages in the world. Every slightly popular programming language has its own unique advantages. And we have to be good at using the features of each programming language, rather than making noisy language more powerful all the way around. I'm familiar with C #, the Java language, and I've done some things with JavaScript, Ruby, Python, groovy, and even learned the Haskell language for functional programming. These languages have brought me a useful effect.
For example, I wrote a plugin in Ruby that I could take the initiative to sync my main station blog to a blog in the blog Park. I use groovy to write units and integrate tests for my Java code, which is much faster than writing in the Java language.
I used Python and webdriver to write a forum irrigation tool to brush the points. The more languages you master. The wider your horizons, the deeper your understanding of programming will be. Of course, I do not agree with blindly ask for more, at least you have 2 to 3 proficient language, from the language grammar, language implementation, language features, language API and other aspects of deep learning and insight, when you learn other languages will not float on the surface.
6, This is the most important point, always keep a curiosity, an unwavering determination to improve efficiency. very many people are holding almost the same attitude, thought "I am not the standard fingering, hitting the keyboard speed almost the same", "I IDE shortcut keys with not much, also did not think there affected me to develop." "I just have a C # language, and I still do it now?" "There is such an idea. It's because you haven't seen a really efficient person. I have seen a certain IT industry, the acme of the operation of the vim, it has gone beyond the point where to hit the situation, has reached the key with the heart of the situation.
I also saw an advanced Program ape using the IDE shortcut key rinsed a piece of ugly code to clean up the obey orders. Under the circumstances let me firm up this determination, not to do almost the same sir. So when I work with my colleagues, I pay attention to what methods and tools they have to improve their productivity.
Let's say they use some handy shortcuts and I don't know, then I'll write it down next time (I'm already a number one in our project team for the shortcut key proficiency level). If I see them using some good tools, I'll go back and download them right away. (for example, two days ago I saw colleagues using Superputty to connect to a remote host, which supports multi-tab roads.) This is the function I want.
I go back right away to download, once abandoned putty) for such a long time, will all directors, you naturally become people's efficiency.