Simplicity
Just getting code to work is not good enough, because the first solution you come up with is hardly ever the simplest possible solution. Your methods may be too long, which makes them harder to test. You may have duplicated functionality, or you may have tightly coupled classes. Complex code is hard to understand and hard to modify, because every little change may break something else in the system. As a system grows, complexity can become overwhelming to the point where your only remaining option is to start over.
When compared to beginners, expert programmers typically implement superior solutions using fewer lines of code. This is a hint that simplicity is harder than complexity, and takes time to master.
Simple code is self-documenting because you pick meaningful names, your methods are concise, and your classes have clearly defined responsibilities. Simple code is hard to achieve, and relies on knowledge in the areas of object-oriented programming, design patterns, and other facets of software engineering.
Comments
If code is self-documenting, do you need source code comments? In short, there will always be cases where you need comments, but you should never write comments simply for the sake of commenting. If the meaning of a method is completely obvious, you do not need a comment. An abundance of comments in code is often an indication that the code is unclear and in need of refactoring. Let's look at a method that needs a comment, and see how to eliminate this need.
/**
* Sets the value of x.
* @param x the horizontal position in pixels.
*/
public void setX(int x) {
this.x = x;
}
This method needs a comment because the meaning of "x" is not entirely clear. Over time, the comment might not be kept in sync if someone changes the method's implementation or signature. But what if we rename things to make the code more clear? How about this:
public void setXPixelPosition(int xPixelPosition) {
this.xPixelPosition = xPixelPosition;
}
This code no longer needs a comment because it is self-documenting. As a result, we end up typing a little bit more for the method declaration, but save a few lines of comments. This helps us out in the long run because we don't have to spend time and effort keeping the comment in sync with the code.
References: Java eXtreme Programming Cookbook. O'Reilly
博客强调代码简洁性的重要性,指出复杂代码难以理解和修改,简单代码需掌握面向对象编程等知识。同时探讨代码注释问题,认为代码应尽量自注释,过多注释可能表明代码需重构,还举例说明如何让代码无需注释。
3238

被折叠的 条评论
为什么被折叠?



