- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
步让你成为更优秀的程序员.doc
10步让你成为更优秀的程序员
这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的10件事情。
1. 永远不要复制代码
不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是bug,它还会使你的代码体积变得臃肿。现代的编程语言提供了很好的方法来解决这些问题,例如,下面这个问题在以前很难解决,而如今使用lambdas却很好实现:
///summary
/// 一些函数含有部分重复代码
////summary
void OriginalA()
{
DoThingsA();
// unique code
DoThingsB();
}
///summary
/// 另外一个含有部分重复代码的函数
////summary
void OriginalB()
{
DoThingsA();
// 没有重复的代码
DoThingsB();
}
现在我们重构含有部分相同代码的函数,用delegate模式重写它们:
///summary
/// Encapsulate shared functionality
////summary
///User defined action
void UniqueWrapper(Action action)
{
DoThingsA();
action();
DoThingsB();
}
///summary
/// New implmentation of A
////summary
void NewA()
{
UniqueWrapper(() =
{
// unique code
});
}
///summary
/// New implementation of B
////summary
void NewB()
{
UniqueWrapper(() =
{
// unique code
});
}
2. 留意你开始分心的时候
当你发现自己在浏览facebook或微博、而不是在解决问题,这通常是一种你需要短暂休息的信号。离开办公桌,去喝一杯咖啡,或去跟同事聊5分钟。尽管这样做看起来有点反直觉,但长久去看,它会提高你的工作效率。
3. 不要匆忙赶任务而放弃原则
当带着压力去解决一个问题或修改一个bug,你很容易失去自制,发现自己匆匆忙忙,甚至完全忘了一直坚持的重要的测试过程。这通常会导致更多的问题,会让你在老板或同事眼里显得很不专业。
4. 测试你完成的代码
你知道你的代码能做什么,而且试了一下,它确实好用,但你实际上需要充分的验证它。分析所有可能的边界情况,测试在所有可能的条件下它都能如期的工作。如果有参数,传递一些预期范围外的值。传递一个null值。如果可能,让同事看看你的代码,问他们能否弄坏它。单元测试是到达这种目的的常规方法。
5. 代码审查
提交你的代码之前,找个同事一起坐下来,向他解释你做了哪些修改。通常,这样做的过程中你就能发现代码中的错误,而不需要同事说一句话。这比自己审查自己的代码要有效的多得多。
6. 让代码更少
如果你发现写了大量的代码来解决一个简单的问题,你很可能做错了。下面的boolean用法是一个很好的例子:
if (numMines 0)
{
enabled=true;
}
else
{
enabled=false;
}
这时你应该写成这样:
enabled = numMines 0;
代码越少越好。这会使bug更少,重构可能性更小,出错的几率更小。要适度。可读性同等重要,你可不能这样做而使代码丧失可读性。
7. 为优雅的代码而努力
优雅的代码非常的易读,只用手边很少的代码、让机器做很少的运算就能解决问题。在各种环境中都做到代码优雅是很难的,但经过一段时间的编程,你会对优雅的代码是个什么样子有个初步的感觉。优雅的代码不会通过重构来获得。当你看到优雅的代码是会很高兴。你会为它自豪。例如,下面就是一个我认为是优雅的方式来计算多边形面积的方法:
static public double GetConvexPolygonArea(Vector2[] vertices)
{
double area = 0;
for (int i = 0; i vertices.Length; i++)
{
Vector2 P0 = vertices[i];
Vector2 P1 = vertices[(i + 1) % vertices.Length];
area += P0.Wedge(P1);
}
return area / 2;
}
8. 编写不言自明的代码
勿庸置疑,注释是编程中很
您可能关注的文档
- 月日俞涌网络课程文档.doc
- 月日信息技术与信息安全公需科目标准答案第二次更新后题库.doc
- 月日全国计算机等级考试二级Access_样题及答案_.doc
- 月日全国计算机等级考试二级Access_样题及答案_8.doc
- 月日全国计算机等级考试二级Access样题及答案.doc
- 月日冷却水方案.doc
- 月日参加广西信息技术与信息安全公需科目考试答案.doc
- 月日孙书记在公司专题组织生活会电视电话会议上的讲话.doc
- 月日广西继续教育公需科目信息技术与信息安全考试试题.doc
- 月日广西继续教育公需科目信息技术与信息安全考试试题8.doc
- 2025年中国阻燃胶行业发展前景及投资战略预测咨询.pptx
- 2025年中国阻燃防护服行业市场发展态势及投资前景可行性(.pptx
- 2025年中国阻燃聚酯纤维行业市场分析及投资前景研究预测.pptx
- 2025年中国阻燃聚酯纤维市场分析-行业深度分析与投资前景预测(.pptx
- 2025年新大象版科学三年级下册全册知识点.pdf
- 2025年中国隐形纱窗市场全景调查研究_图文.pptx
- 2025年中国阻燃纺织品行业深度分析、投资前景、趋势预测(咨询.pptx
- 2025年中国阻燃纤维板行业市场运营态势.pptx
- 2025年新大象版科学三年级下册全册知识点复习资料.pdf
- 2025年中国阻燃纤维行业市场深度分析.pptx
最近下载
- 石油化工产学研合作与创新体系建设进展.pptx
- 心理课:生涯决策力提升-《生涯决策力提升》.pptx
- (完整)婚介登记表.doc
- 浙江省宁波市区县社区街道乡镇村名称统计.pdf
- 法雷奥供应商手册supplierqualitymanual2104rev09资料.pdf
- 2023年汕头市潮阳区卫健系统招聘医学类专业技术人员笔试真题.docx VIP
- 2024年义务教育化学课程标准2022年版(多选题)考试专项题库及答案.docx
- 海阳市各级文物保护单位一览表(2024版).docx VIP
- 2025届高考英语模拟卷(新高考Ⅰ卷)两套(word版有答案).docx
- 2025年建设美丽乡村示范村实施方案.pdf VIP
文档评论(0)