不要找了,这里没有详细的有关编码的方法或技巧;也没有能够让你快速成长为“巨星”级程序员的任何信息。我所发布的这些方法,在我看来,是教会你如何研究和掌握那些关于编码的技巧的一些方法。总而言之,下面清单所示的一些方法都是一个使我们如何“开刃”的工具,或者说是一些后台的东西。
最引人注意的地方是,你将会看到,我这里所说的方法,却恰恰与一些大人物所提倡的如何编码的方法相反。这大概是因为这两类方法所面对的听众不一样的缘故。这是因为您,您应该成为一个伟大的程序员,甚至“摇滚巨星”级的程序员。但他们常常告诉您,您应该编写好的、简单的代码,以便他人的理解和维护。
#1 在一个更快的电脑上作开发
和更快的电脑相结合。一次编译会占用你的很多以秒记的时间,然而你会反复的编译来编译去。实际上,除此之外最重要的浪费是从你点击“运行项目”的快捷键到应用显示在你面前的时间。这个时间越短,那么你运行应用的时间就越多,因而你对新事物的尝试就越多。这才是你希望研究的,而不是等待应用启动。如果运行的时间远远超过了你所希望的,那么你的开发就会变得很慢。一个有用的建议是,让差劲的电脑去做测试用吧。运行在超级快的计算机上,你的GUI可能感觉起来更加爽快。但是你的客户可能没有如此幸运来使用一个超级快速的电脑。
2# 使用大号的TFT显示器
整个代码显示给你的信息总是比部分的字符多得多。使用一个大的显示器,你将得到更多的有关代码的总的印象,这将使你的右半脑进入工作。你将更加清晰地看到模式,你将看到整个方法的结构,而不是方法的一部分。你应该使用这样一个显示器,它使你在大多数情况下在一个页面上看到你所有的方法。眼睛看起来相当的快,但是移动滚动条就没有那么快了。我使用一个30英寸的苹果CinemaDisplay显示器,并且使用一个20英寸的可以旋转90度的Dell显示器作为备用的显示器。
3# 学习使用你的IDE
让你多学习使用你的IDE,这并不是因为你的IDE做得不够好,今天所有的IDE都有很好的傻瓜式的工具栏。如果每次你使用一种方法做一件事情,但是却有另一种方法能够让你做得更快更好的话,那么你应该感到羞耻。学习你的IDE的新特性吧,如果你还没有把它们全部学完的话,或者最基础的,如果你还没有学够的话。适当使用快捷键,但不要太过分。如果把你所要做的所有事情都创建快捷键的话,就显得超级懒惰。所有这一切都是用来压缩等待时间,和最小化从编码到显示(code-to-show)的时间。
4# 不要过分的学习API
API经常改变并且/或者你会开始使用别的API。学会快速的找到有关API的信息。如果可能的话,请使用你的IDE来帮忙。对你自己的代码使用JavaDoc,并且在你的项目中为重要的API配置JavaDoc。学会查找信息对于做任何事情都是有好处的,储存在大脑中的API会很快的老化。例如,如果你不会使用一些参数像help/completion,你的项目将很难进行下去。
5# 编写敏捷的、超酷的、扁平的代码结构
并且彻底的测试它们。你将认识到它在什么条件下能够工作,在什么条件下不能工作。你将会明白,如果不使用那些敏捷的、超酷的代码,而仅仅是构建那些敏捷的代码的话,那么这只能用来炫耀,而不是成为“摇滚巨星”的方法。用一个敏捷的方法编写更少的代码意味着更少的维护。过分敏捷的代码,只是用来炫耀的;会使得你的代码维护同事在代码的使用者过来询问你的时候,把你说的话当做一文不值(这的确是一个可怕的事情)。
6# 阅读书籍
你可能对于你正在做的事情非常精通,但是如果你仅仅知道那些,无论你知道的东西是哪一个方面的,是不够足以使得你的红得发紫的。知道更多的知识领域,而不仅仅是你正在从事的,将会使得你金光闪闪。例如,如果一个GUI编码人员对数据库一无所知,那么他将几乎毫无价值,因为他无法同后台编码人员配合。等等。使用90%的精力去精通五个领域要比使用90%的精力去精通一个领域要好得多。
7# 回去并且提高你的旧代码质量
这不仅仅听起来像是一个经济学的问题,而是在在阅读你的垃圾代码的时候你将会学到很多东西,你的那些旧代码永远都是垃圾(从你后面的眼光看来)。经过一些年后,你的代码会变臭,真的会这样,因为你在不断的进步。如果你在你的旧代码中找不到垃圾的东西,那么要么你已经成为了一个“摇滚巨星”级的程序员,要么更大的可能是最近你根本没有取得进步。
8# 吃你自己所做的食物
如果你创建了APIs,那么创建一些应用来使用这些APIs。(俗话说“己所不欲,勿施于人”,如果你自己都不使用自己的APIs,那么你怎么能够劝说别人使用)。如果你创建了应用,那么请求你的朋友/妻子/丈夫/孩子们来使用这些应用。不要假设你使用过了,而要假定那些与这些工作无不相关的身边的人使用过了,那么你将得到一些真诚的反馈。而这些反馈是无价的。
9# 不要动不动就向人们询问建议
而是学会尝试着亲自去获得答案。这将会更加有用。找出怎么样取得某些东西的信息,这本身就是有价值的;并且能够反馈给你比解决问题更多的价值。问问自己你仅仅是必须解决还是这个问题本身有不止一个解决方案,你将获得更多的知识。当然,你可以对这点毫不介意,但是我看到很多人问那些毫无意义的问题,而这些问题可以通过google等搜索引擎更快地找到答案。
10# 做一些微观的标志
但是要知道,在实际的应用中,对于绝大多数的要求,这些标志是毫无用处的。这能够增加你在性能方面的知识。在下一次的新的编码过程中,你很有可能选择一个最快的代码结构。不要在这上面作性能优化,而是在一开始就写运行更快的代码,当然,这是在不牺牲代码可读性的基础上。
11# 最后
不要乱吃东西,多多锻炼,不要喝太多的咖啡,还有能给你带来比你想象还要多的困扰的废话,你就不要做了,因为我是这么说的。