想成为最牛程序员吗?
Tip 1 要方法而不是记忆
我的一个程序员朋友常跟我说记住超过200个C++函数是多么的有帮助。“我从来不必去查找函数的定义,因此我可以比其他程序员编程快上50%。”他自豪的说。可结果是什么?难道他不知道编译器的代码自动完成功能可以节约大量查找函数及输入函数的时间吗,另外当C#发布出来后,他在记忆函数上面的努力就白费了。当然,编程中对函数的熟记是一件必需的事情,但是你应当花费更多的时间在学习做事的方法上,比如说创建一个数据库连接,如何产生RSS源等,然后是关注于代码是如何实现的。学习做事的正确方法远比死记硬背重要。
Tip 2 建立属于你自己的资源库
我们都会有因为这样或者那样原因而不得不建立的代码集。我从来不记得连接数据库的准确代码语句,所以我每次都不得不在代码集中花10分钟去查询它。为了解决这个问题,我创建了一个用于记录代码片段的Word文档,以帮助我记忆和查找。我的一个同事建了个记录链接的书签,另外一个同事在他的邮件中存储了这些内容。无论你的方法是什么,都是一种可以使你方便查找到文件或内容的好习惯。当你建立你的知识库后,你会发现它将极大的帮助你去把代码写得更好和更快。
Tip 3 知道做什么而不是怎样做
很多初级程序员问我“我怎样做这个,或者我怎样做那个?”我总是会跟他们说“你想做什么呢?”听闻此言后,他们会死盯着我,就好像我跟他们的妈妈约会了一样。这就是我的下一个观点,绝不要在知道你想做什么之前去学习怎样做,比如一个程序员想要搜索一个文本文件中是否存在的某个特定的词汇。下面是用C#来实现该目的:
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
}
现在我给他这些代码去做这件事,但是更重要的是理解自己正在试着做的是什么。在这个例子中我们想做的是:1. 打开一个文件2. 读其中的内容3. 关闭文件4. 搜索字串5. 如果找到了则输出结果用这个方法来解决事情产生了以下结果:1. 它使语言无关2. 使你的精力集中在需要做什么上3. 使你的代码更易读和有效知道要做什么将使你的代码更有目的性。现在在C++、PHP、VB.NET、Ruby on Rails中编写上述代码是很容易的事情了,因为你理解了要做什么而不是怎样去做。
Tip 4 创建适合你的注释风格
每一个程序员都讨厌注释,但是为了写出更有质量和易读的代码,我们需要注释。问题是大多数程序员常被告知如何注释,一些公司希望每一行代码都有注释,另外一些则想要在每个函数前面有一段注释,还有的规定在不同的代码块前注释。我并不同意这种强制性的规定,只要代码是可用的、易读的和有效的,那么程序员应当可以用其个人喜好的格式来注释。对我来说在每一行都注释将破坏代码的节奏,我更喜欢在函数的前面注释,罗列我接下来一步步将要做什么,然后在函数中参考注释中所写的步骤进行编程。这是适合我的模式,这样可以在我编程前帮助我组织设计,也保持了我的节奏,使我不会因为需要注释而在编程时中断,也有助于其他人阅读我的代码。下面是我怎样注释的例子:
/* 1. Open File*
2. Read file into string*
3. Close file*
4. Search for key word*
5. If fond return true;
*/
string fileContent;
//1.
System.IO.FileStream myStream = new FileStream("c:\\aa.txt", FileMode.Open);
System.IO.StreamReader myStreamReader = new StreamReader(myStream);
//2.
fileContent = myStreamReader.ReadToEnd();
//3.
myStreamReader.Close();
//4.
int idx = fileContent.IndexOf("string");
if (idx)
{
//5.
return true;
}
这种注释风格使我和大多数程序员可以容易的阅读它。那么,找一个适合你的注释风格吧。
Tip 5 精通one,学习another,关注next
有时有程序员发email问我他应该学习什么语言,什么是最好的编程语言等等。你至少应该精通一门编程语言,可以相当好的去编写代码,然后再去学习掌握另外一门,逐渐的成长。以我自己为例,我精通C#,擅长PHP,并且已经开始使用Ruby onRails大概有一两个月了。为什么呢?精通一门语言可以使你进步,在进步中写更好的代码,找到完成任务更好的方法等。进步也是我作为一个程序员年复一年的工作,却仍没有觉得枯燥的原因。
发自龙铭洪博客,转载请注明:http://blog.csdn.net/long892230
分享到:
相关推荐
- **技术更新**:IT行业发展迅速,技术更新换代频繁,持续学习成为了必备技能之一。 - **适应能力**:面对行业变化和个人职业发展的需求,能够灵活调整方向,比如从MIS转向通信行业。 #### 六、综合素养与职场竞争...
最牛B的 Linux Shell 命令,最牛B的 Linux Shell 命令,
最牛B 的 linux B shell 命令 最牛B 的 linux B shell 命令
黄金分割线知识点 黄金分割线是一种技术指标,用于股票市场分析。它由三条水平线组成:顶点线、黄金线(%61.8)和低点线。这些线都是支撑线和压力线。根据股价的运动方向,黄金分割线可以作为买入和卖出的信号。...
HA_GPUZ-034_CZ.EXE世界最牛B的测试软件世界最牛B的测试软件世界最牛B的测试软件世界最牛B的测试软件
100万!我是如何成为史上最牛淘宝客的,大家分享学习。
总的来说,《史上最牛B的抢票软件》以其高效的抢票能力和便捷的操作方式,成为了众多用户抢购火车票的首选工具。但在享受其带来的便利的同时,用户也需要关注网络安全,合理使用,以保障自己的权益。对于那些对技术...
本文将详细探讨“最牛B的视频录屏+下载视频软件”,并介绍相关知识点。 首先,让我们理解录屏软件的重要性。在现代社会,无论是在线教学、远程办公、游戏直播还是产品演示,都需要高质量的屏幕录制功能来捕捉屏幕上...
标题中的"最牛B的KB打码软件"可能是指这款软件在功能、性能或用户体验方面表现出色,获得了用户的高度评价。"多线程"意味着该软件能够同时处理多个验证码识别任务,这使得它在处理大量验证码时速度非常快,效率远超...
程万云《100万!我是如何成为史上最牛淘宝客的》完整终极版下载地址
描述中提到的"国产最牛B的.NET控件"很可能是指FineUI,这是一个基于EXTJS的.NET UI框架,专为.NET开发者设计。FineUI提供了.NET友好的API,使得开发者能够轻松地在.NET应用中集成EXTJS的功能。 FineUI_v4.1.6_...
【标题】:“cms 最牛 最经典 网站”指的是一个被认为在CMS(内容管理系统)领域内具有卓越性能和广泛认可度的网站解决方案。这个标签突显了它在.NET技术栈上的应用,意味着该系统是基于微软的.NET框架构建的。 ...
### 史上最牛代码解析 #### 概述 标题与描述均为“史上最牛代码”,这一表述虽然简单,但是蕴含了对于某段程序代码的高度评价。通常,“最牛”这样的词汇意味着这段代码在某些方面达到了极致,无论是从技术难度、...
标题《最牛B的Linux_Shell命令》所指向的知识点覆盖了Linux中Shell命令的强大和便捷性,尤其是在完成系统管理任务时的实用性。Shell命令之所以重要,是因为它们充当了用户和操作系统之间的接口,能够调用和控制底层...
《Java深度历险》是一本面向中、高级Java程序员的权威书籍,旨在帮助读者深入理解Java语言的核心概念和高级特性,提升编程技能和解决问题的能力。这本书涵盖了Java开发的多个重要领域,包括但不限于JVM(Java虚拟机...
【鼎联汽车销售软件】是汽车行业管理解决方案的一款杰出产品,被誉为“最牛的”汽车销售软件,这彰显了其在功能、性能以及用户体验上的卓越表现。该软件旨在为汽车销售商提供全面、高效的业务管理工具,帮助他们优化...
【标题】:“最牛SEO软件(网络营销)” SEO(搜索引擎优化)是提升网站在搜索引擎自然搜索结果中的排名的一种策略,而“最牛SEO软件”显然是一款专注于这一领域的工具,旨在帮助用户更好地理解和优化他们的在线存在...
全是牛B的网站模板,是华丽与尊贵的统一,是时尚与古朴的糅合,是专业布局与人性设计的结合,更是网页界面革命的转折点,21世纪人文欣赏水平提高的见证~!
2080歌手专业唱歌KX效果图.zip
标题中的“最牛的压缩工具”可能指的是某个在压缩效率和压缩比方面表现卓越的软件。这类工具通常具有独特的算法,能在保持文件完整性的同时,尽可能地减小文件大小,尤其适用于处理大容量的文件。虽然它被描述为...