首页
登录 | 注册

最牛的程序员

揭秘成为最牛程序员的五大要诀


想成为最牛程序员吗?以下几点有助你实现这个目标。
i>,vacW8@

Tip 1 要方法而不是记忆
@ !#7w@"a  
'pK;a?lx  
R~|t2s. ? 我的一个程序员朋友常跟我说记住超过200个C++函数是多么的有帮助。“我从来不必去查找函数的定义,因此我可以比其他程序员编程快上50%。”他自豪的说。可结果是什么?难道他不知道编译器的代码自动完成功能可以节约大量查找函数及输入函数的时间吗,另外当C#发布出来后,他在记忆函数上面的努力就白费了。当然,编程中对函数的熟记是一件必需的事情,但是你应当花费更多的时间在学习做事的方法上,比如说创建一个数据库连接,如何产生RSS源等,然后是关注于代码是如何实现的。学习做事的正确方法远比死记硬背重要。 
8*{P ;  
Tip 2 建立属于你自己的资源库 EqY-B\,`A+  
c/"pVY>5  
我们都会有因为这样或者那样原因而不得不建立的代码集。我从来不记得连接数据库的准确代码语句,所以我每次都不得不在代码集中花10分钟去查询它。为了解决这个问题,我创建了一个用于记录代码片段的Word文档,以帮助我记忆和查找。我的一个同事建了个记录链接的书签,另外一个同事在他的邮件中存储 '`{6\fXf 了这些内容。无论你的方法是什么,都是一种可以使你方便查找到文件或内容的好习惯。当你建立你的知识库后,你会发现它将极大的帮助你去把代码写得更好和更快。 
6|,5#7>p2  
Tip 3 知道做什么而不是怎样做 vb+H#bvi^  
&}3() C  
pRnrr:> 很多初级程序员问我“我怎样做这个,或者我怎样做那个?”我总是会跟他们说“你想做什么呢?”听闻此言后,他们会死盯着我,就好像我跟他们的妈妈约会了一样。这就是我的下一个观点,绝不要在知道你想做什么之前去学习怎样做,比如一个程序员想要搜索一个文本文件中是否存在的某个特定的词汇。下面是用C#来实现该目的: 
:!Yuuy]&F string fileContent;System.IO.FileStream myStream = new FileStream("c:\\aa.txt", FileMode.Open);System.IO.StreamReader myStreamReader = new StreamReader(myStream); fileContent = myStreamReader.ReadToEnd();myStreamReader.Close();int idx = fileContent.IndexOf("string"); if (idx){return true}[/pre]现在我给他这些代码去做这件事,但是更重要的是理解自己正在试着做的是什么。在这个例子中我们想做的是: 
dO>6+gn[ 1. 打开一个文件 
n}kFTuo 2. 读其中的内容 
lTtX 3. 关闭文件 
i6XiV b>2 4. 搜索字串 
)KRz0~;e 5. 如果找到了则输出结果 
& n\XdG/C{ 用这个方法来解决事情产生了以下结果: 
RHu]yIY 1. 它使语言无关 
f7.i8cl 2. 使你的精力集中在需要做什么上 
17Yu{:7FL 3. 使你的代码更易读和有效 
qaEKl0M} 知道要做什么将使你的代码更有目的性。现在在C++、PHP、VB.NET、Ruby on Rails中编写上述代码是很容易的事情了,因为你理解了要做什么而不是怎样去做。 
Br;~5#e4  
Tip 4 创建适合你的注释风格 L=W2,  
PN6bED[  
@_ B%" 每一个程序员都讨厌注释,但是为了写出更有质量和易读的代码,我们需要注释。问题是大多数程序员常被告知如何注释,一些公司希望每一行代码都有注释,另外一些则想要在每个函数前面有一段注释,还有的规定在不同的代码块前注释。我并不同意这种强制性的规定,只要代码是可用的、易读的和有效的,那么程序员应当可以用其个人喜好的格式来注释。对我来说在每一行都注释将破坏代码的节奏,我更喜欢在函数的前面注释,罗列我接下来一步步将要做什么,然后在函数中参考注释中所写的步骤进行编程。这是适合我的模式,这样可以在我编程前帮助我组织设计,也保持了我的节奏,使我不会因为需要注释而在编程时中断,也有助于其他人阅读我的代码。下面是我怎样注释的例子: 
-E;g8P|z=  
A8#5Z!\ /* 1. Open File*  
+ fVyL 2. Read file into string*  
;=)g/\F 3. Close file*  
qW)ZTV]3E 4. Search for key word*  
of W0ra-0 5. If fond return true; 
:bg ?x */ 
^,DB>.vc# string fileContent; 
Y~Gc^1u"J //1. 
`J\` nl| System.IO.FileStream myStream = new FileStream("c:\\aa.txt", FileMode.Open); 
~^%\=;p System.IO.StreamReader myStreamReader = new StreamReader(myStream); 
0Z="zXn0;m //2. 
|s?SM'$4[> fileContent = myStreamReader.ReadToEnd(); 
es=jy:Yl@ //3. 
%<#"; y  myStreamReader.Close();  
)@`,W)M //4. 
[ 6[_ int idx = fileContent.IndexOf("string"); 
j?G6* if (idx) 
p22)li*
gi\&%(4 m //5. 
{3T]6qfI return true; 
OA>{Y+XWlS
?S7@nJhH 这种注释风格使我和大多数程序员可以容易的阅读它。那么,找一个适合你的注释风格吧。 
Tip 5 精通one,学习another,关注next OoUObhE?  
DZn ?'IVI  
O 36Rg:?eu 有时有程序员发email问我他应该学习什么语言,什么是最好的编程语言等等。你至少应该精通一门编程语言,可以相当好的去编写代码,然后再去学习掌握另外一门,逐渐的成长。以我自己为例,我精通C#,擅长PHP,并且已经开始使用Ruby on Rails大概有一两个月了。为什么呢?精通一门语言可以使你进步,在进步中写更好的代码,找到完成任务更好的方法等。进步也是我作为一个程序员年复一年的工作,却仍没有觉得枯燥的原因。 

相关文章

  • No.1程序员 适合程序员30岁以后的作业,排名榜首的,当然仍是程序员.随着铢积寸累经历不断累积增 加,也许你每天产出代码的行数会不如以前,但你解决问题的才能却是无人能及的.一起,假如你能够一向保持着对特定范畴技能的专注度,那成为神相同的技 ...
  • 程序员面试系列之Java单例模式的攻击与防御
    Java面试系列-webapp文件夹和WebContent文件夹的区别? Java程序员面试系列-什么是Java Marker Interface(标记接口) 编程面试题:编写一个会造成数据库死锁的应用 使用JavaScript ES6的新 ...
  • 找工作的程序员必懂的Linux
    为什么要学习Linux 首先,我想先说一下:"为什么要学习Linux"?Linux 是什么,它是一款操作系统,是一个支持多用户.多任务.支持多线程和多CPU的操作系统:32位和64位的硬件可以在Linux 系统安全运行, ...
  • 1,说到系统架构师,相信很多企业都有这样的高级人才.系统架构师已然成为国内一门十分紧俏的职业,一名优秀的系统架构师常常会吸引各方企业争抢. 当前,我们国家经济形势热度不减,软件企业成长速度惊人.随着信息时代的来临,架构师在业务发展中扮演的角 ...
  • 一直以来程序员这一职业都给人高薪资的印象,近年来随着互联网行业的快速发展,程序员更是人满为患,然而很多人关注的却是程序员的薪资,而非职业本身. 在此我整理出自己对程序员的职业规划的一些见解,希望能帮助到他人,也是自己对职业生涯规划思考的一次 ...
  • 作为程序员,都有一种相同的焦虑--即当一次又一次的新技术浪潮袭来,总会不由自主的拼命跟随,总是担心如果不紧跟新技术的潮流,将会被时代所抛弃. 作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的iOS交流群:638302184 ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号