小议程序员的信仰_.Net教程
推荐:如何实现C#中用鼠标移动页面的功能项目中需要实现以下功能: 打印预览控件中,可以用鼠标拖动页面,以查看超出显示范围之外的部分内容。 该功能本来可以通过拉动水平和垂直滚动条来实现,但实际使用中,用户更趋向于直接用鼠标拖动页面来实现,很多看图类软件都有这种类似的功能。而.net的打
老婆经常夸我有想法,得益于老婆大人的鼓励,我才打算将自己平时所想,所总结的东西写下来。人是需要不断总结的,有总结才会有进步。所谓总结,并不一定是多么高深的道理,多么复杂的推论,也并不一定要长篇大论。有时,一句话,或是一个瞬间,会让你明白很多。
首先,严格来说,我并不是一个程序员,我所从事的是测试开发工作,但是我接触过各种各样,形形色色的开发人员。
有的人把代码当乐趣,只要让他写代码,比做什么都开心。
有的人纯粹把代码当作任务,养家糊口的本钱。
有的人视代码为宠物,精心呵护,容不下一丝瑕疵。
有的人视代码为工具,只要能用就行,管他扩展性和维护性。
有的人会说,我做了单元测试,没有发现什么问题。你要是发现bug一定要告我。
有的人会说,这代码没问题的,都运行两年的代码了,没必要测了。
……
最近每天都在看《人间正道是沧桑》,瞿恩有句话印象深刻,“这世界上,梦想有两种,第一种,我实现了自己的梦想。第二种,梦想因我而实现,纵然失去了自己的生命。” 因此,我就想到了“信仰”一词,然后,又突然想到,程序员是不是也应该有自己的信仰呢?各种各样的程序员,每天都在敲着各种各样的代码,到底有没有一个信念能够将所有程序员拉在一起。
首先, 问问自己,是否真的喜欢写代码这样枯燥的工作。如果不是,我劝你还是换份工作。
假如你非常喜欢写代码,那我又要问了:
你觉得写代码的乐趣在哪里?
说实话,我曾被问过这个问题。首先,这个问题其实问的非常好,这是一个程序员进行自我剖析的好问题。同时,这个问题又非常难以回答。 就像问到为什么爱一个人,八成有人回答没有任何理由。的确,爱就是爱,不爱就是不爱,如果非要说个喜欢写代码理由,我想应该是喜欢优美的代码旋律在手上键指如飞的感觉,可以在有限的键盘按键中,敲出无穷无尽美妙旋律。
有时在想,偏激未必是一件坏事。 信奉敏捷开发的人,理性一些来讲,有些东西的确有些偏激。比如,博客园刚有人讨论的早上站立会议必须站着的问题,任何一个函数都不能超过10行,一个测试案例只能有一个断言检查。在理性的偏激下,往往能够更加激发人的潜能。在合理的情况下,形成一些近乎偏激的程序员信仰,我觉得还是有必要的。
这里,我开个头,列出几条箴言,希望大家能一起来补充。看看我们究竟能列出多少条。
1. 自己的代码必须进行单元测试
不管是产品代码还是测试代码,都必须编写单元测试案例。产品代码进行单元测试就不用说了,测试代码进行单元测试也是非常重要的!测试代码本身都有问题,被测代码的测试结果又从何谈起。
2. 不要将狗食留给别人
不要将一大堆设计复杂,逻辑混乱,难以理解,根本无法维护的代码留给别人,你要想象着如何让自己的代码交到别人手里能够获得一些称赞。
3. 避免过度设计,保持简单,以及其扩展性
代码不是写给机器看的,也不是用来炫耀你的复杂设计的。保持简单,容易理解,同时又保持其可扩展性非常重要。
4. 认真给代码的每一个文件,每一个函数,每一个变量命名
想到得到别人的尊敬,必须仔细考虑每个变量的命名,使用统一的命名规范,使用容易理解没有歧义的命名方式。有的人太随意了,打开金山词霸,不管三七二十一,将中文词语一翻译就拿拿用。有的人命名,又是拼音又是英文,大小写混乱,缩写和使用全称不统一。
5. 不要那么容易被说服,要据理力争
特别是面对上级,不要糊里糊涂的被说服。首先,你要充分的理解别人的想法,然后,你要清楚的表达出你的观点。有的人特别能说服人,特别能绕,千万别被绕晕了然后点头称是。
6. 处理好你的程序依赖
一个依赖混乱,或是循环依赖的系统是难以维护和扩展的。所以,当你准备设计一系列公共库,想好他们之间的依赖关系吧。这是基本的原则,绝对不允许违反的。
分享:解析.NET调PHP Web Service的典型例子最近一个项目由
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP发送Email实例(可带附件)
- js实现广告漂浮效果的小例子
- asp.net Repeater 数据绑定的具体实现
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Asp.net获取客户端IP常见代码存在的伪造IP问题探讨
- VS2010 水晶报表的使用方法
- ASP.NET中操作SQL数据库(连接字符串的配置及获取)
- asp.net页面传值测试实例代码
- DataGridView - DataGridViewCheckBoxCell的使用介绍
- asp.net中javascript的引用(直接引入和间接引入)
- 三层+存储过程实现分页示例代码
- 相关链接:
- 教程说明:
.Net教程-小议程序员的信仰。