优秀的程序员具有哪些品质怎样获取

SICP第一章第二节写道:The ability to visualize the consequences of the actions under consideration is crucial to becoming an expert programmer.在大脑里跑程序是成为专家程序员的关键。Paul Graham 在 Great Hackers 中写道:Perhaps great hackers can load a large amount of context into their head, so that when they look at a line of code, they see not just that line but the whole program around it.牛逼的黑客能够在大脑中装进很多上下文,当他看一行代码时,不仅仅是这行代码,还包括这行代码相关的整个程序。这两句话说得极好。为什么有些人一天能干普通人一个月干的活。为什么有些活只有牛人才干得了,普通程序员干不了?这就是原因。为了成为牛逼的程序员,我们必须培养自己这方面的能力。努力是一方面,智商也很重要。高智商的表现为大脑的Working memory多,可以装进更多的上下文(context),大脑处理速度快,可以更快得在大脑中跑程序。
■网友
刚做完cs一个java课的final project,忍不住说说自身经历,不过吾辈只是个学生,不知对楼主有帮助否我们的project分2个part,在做project的part1或者part2之前大家会先开个会,分配任务,说下自己对自己负责的部分的见解,然后用谷歌文档建立白皮书,每人详细阐述各部分的功能。在编写过程中,我发现注释是一个很好用的工具。遇到需要调试的部分,或者不整洁的代码,先注释。一来以后好找,二来提醒队友小心bug或者帮忙修改。另外我觉得一个文件里的方法最好是相互独立,method间的关联越少越好,否则调试工作量略大编完之后就到了调试部分,比如调整数值,简化代码之类的工作。我们是用日志文件来探测功能是否实现。总的来说就是:1,写之前先想好,写的文件要实现哪些功能,需要几个方法(函数)来实现,每个方法(函数)具体又有什么功能。画好框架图,再写代码。2,写的时候注意不要一个函数扣着一个函数(方法),要让它们相对独立,关系则靠变量来建立。3,用好注释。还有变量名也写清楚。healthpacketlist就别写成hpplist,队友不懂4,调试时用日志文件和debug,事半功倍。5,多写多想,慢慢熬就好


    推荐阅读