编码规范往往只是对具体编程的格式及细节要求进行规定,但对于提高软件人员编程能力而言,编程规则更具有价值,下面将我的一些观点和想法提出来供大家参考,也希望大家批评指正,谢谢!

1 概述

编程是一个软件工作者的基本能力,怎样能够成为一个优秀的软件工程师,怎样编写出优雅的程序,漂亮、完美地解决问题,实现需求,将是每一个软件人员永远的追求。

程序员都希望自己将来成为设计师、架构师,但小可比大、大可比小,局部的小程序设计不好,就奢谈架构设计了,相反如果你程序设计的非常清晰、结构优美,你离架构师也就不远了。因此请你胸怀远大目标,从眼下做起吧!

本文试图指导你实现这样的夙愿,使你在编程的过程中逐步成长、成熟,成为一个优秀的软件工程师。

本文即不是具体的软件编程规范(具体的软件编程规范亦是基于此文的基本规则制定),也不是软件架构及设计指导书,它介于具体编程与系统架构之间,虽不明确细节,但注重编程的基本原则和规程,不限于语言(尽管示例采用java),可适用于任何面向对象的编程,其中大部分规则亦适用于非OO编程。

要求所有软件开发人员必须认真、反复阅读此文,深刻体会每一个规则的内涵和外延,并在开发过程中认真贯彻、深入实践,做到:

      知行合一,努力实践,勇于重构,追求完美。 

代码是程序员的脸面,代码是程序员的作品,代码是程序员的荣誉,代码是程序员的信用,优秀的软件工作者,首先必须是一名优秀的程序员。

你努力搞懂这些规则,并运用这些规则,他将帮你成就优秀。

本文只是简略地叙述这些规则,为了切实地弄清楚它们的真实意义,你不仅需要实践,还需要通过其他方式去学习体会,例如学习相关书籍丰富知识面,请教、交流都是辅助手段。

编程是一门实践科学,你需要实践-学习-总结-提高,再实践-再学习-再总结-再提高,这是一条唯一的成功之路。

编程是一种创造性工作,能够满足你创造的愿望,让你的灵感放出灿烂的光芒,让你的思想和创意能够落地生花,令你在工作中收获成功和快乐。

编程是门艺术,它能够展示结构之美、构造之美、表达之美,能够给作者和读者带来喜悦、舒畅、优雅等高层次的精神享受,它有时像优美的诗歌,有时像设计精妙、蕴含人类智慧的精密装置,给人带来深层次的触动和愉悦。

让我们用轻松、愉快、期盼的心情驰骋在编程的道路上吧,祝愿你一路收获成就、收获喜悦、收获健康;更希望你的作品能够为他人带来快乐。

1.1 大处着眼,小处着手

      每件小事都值得我们努力去做,皮尔·卡丹曾经对他的员工说过:“如果你能真正地钉好一枚钮扣,这比你缝出一件粗制的衣服更有价值。”从事不起眼的工作,其实正是大事业的开始,能否有这样的理念,意味着一个人能否有长足的发展。

一个程序员怎样能够成长为架构师,首先他必须是一个优秀的程序员,他能够写出结构优美、表达简洁清晰的代码,小可比大、大可比小,他才有能力对大系统进行架构的合理设计。

大处着眼、小处着手,精益求精、追求完美是优秀的软件工作者的成功之路。大处着眼要求你要有整体思想、形象思维、胸怀全局,小处着手要求你认真对待每个细节,深刻掌握和灵活运用规则,执行规范,勇于重构,不断改进,努力写出好代码、优秀的代码、优美的代码。

树立你宏远的目标,但首先认真踏实地做好你身边的每件事。

1.2 破窗与童子军军规

破窗和童子军军规的故事你可以其他方式去了解。

我们要求软件开发过程要避免恶性循环,形成良性循环。在开发过程中要认真贯彻规范,有违犯规则的任何事情发生时必须及时纠正,每个人在创建或维护代码时都有责任使之更加整洁、清晰,包括对不合理的结构进行梳理,对不恰当的命名进行重构,职责不单一(臃肿)的类或方法进行分解,对代码中稀奇古怪的“魔法数字”进行治理。

为什么提军规呢,因为军队最讲团队精神,代码不仅是程序员个人的脸面,同时它更代表一个组织的品质,每个人都要为这个品质的提高和荣誉努力,在软件系统中短板效应非常明显,一个Bug可以使整个系统坍塌,所以记住童子军军规,记住我们是一个整体。

破窗是说一件很小坏事儿,如果不加控制的话,也会演变成严重的事件。

童子军军规中有条规定,当你离开一个地方的时候,要让它比你来的时候更整洁干净。这样的话,童子军扎营的地方会越来越干净。当程序员开发或维护一组代码时,如果他能够使代码更加清楚整洁,那么软件系统就会越来越结构优美了。

助你成长为优秀的程序员 杰出的软件工程师、设计师、分析师和架构师相关推荐

  1. 编程规则 - 1 概述 -- 帮助你成长为优秀的程序员 杰出的软件工程师、设计师、分析师和架构师

    作者:Jon Ji 2011/8/20 编码规范往往只是对具体编程的格式及细节要求进行规定,但对于提高软件人员编程能力而言,编程规则更具有价值,下面将我的一些观点和想法提出来供大家参考,也希望大家批评 ...

  2. 作为程序员的他凭什么成就年薪100W架构师?

    08年毕业,工作10年,作为程序员的他凭什么成就年薪100W架构师? 享学课堂online 2019-05-30 13:56:31 华为能发展如此壮大,能直面一个超级大国动用国力来对其打压仍屹立不倒, ...

  3. 《演讲之禅》助你成长为一名合格程序员

    "程序员"这一职业在大部分人心中就是坐在电脑前,一言不发,低头敲击键盘的码工.实则不然,今日只会低头做事.不善言辞的程序员已经不能适应行业发展的需求. 程序员也需要表达,并且要清晰 ...

  4. 适合程序员的画图技法,不再是“PPT”架构师

    程序员不是写代码的么,为什么需要画图?很多程序员会认为写好代码就好,画好图有什么用?程序员成为架构师后是不是就天天画架构图,成为了所谓的 PPT 架构师?如上这些疑问,好几年前也曾让我困惑过. 在一篇 ...

  5. 面试加分项!程序员工作2年月薪12K,附架构师必备技术详解

    最近看到群里看到一个女生,讲述了她从开始选择Android,经过非常努力的学习和挣扎,然而最后面对当前的环境却不得不放弃.看完以后真的非常替她感觉惋惜,如果早几年入行可能结果会比现在好很多,但可惜,这 ...

  6. 软件工程师 级别 职称 评定 从见习程序员 到 主任软件工程师

    转载了一篇职称评定的参考,粗略评估了一下本人 Level 4 软件工程师,继续努力升级~ 一.见习程序员(AP:assistant programmer) 1.计算机相关专业毕业:英语通过国家四级.  ...

  7. 程序员怎么在短时间内从菜鸟到高级架构师

    (向贴吧大神致敬,个人觉得里面我看过的书籍挺好的,献给新手) 面试一般涉及类容: 说道面试及笔试题,一般不外乎Java语言基础.Java语言高级.UML和OO和模式.数据库.测试.数据结构和算法.管理 ...

  8. 不认识java代码_程序员进阶:优雅的代码对于一个架构师的重要性

    lison:复旦大学工程硕士,专注技术十年,产品控.代码控,拥有丰富的项目经验,主持研发了多个成功上线的大型互联网项目.热爱互联网,热衷于各种web技术,精通JAVA.J2EE和前端开发,擅长互联网高 ...

  9. 成为一名优秀的程序员基本要素

    职业要求 一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的. 程序员 大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位. ...

最新文章

  1. 基于tcp和udp的socket实现
  2. 关于form标题提交的应用技巧(-)
  3. 2021年春季学期-信号与系统-第四次作业参考答案-第一小题
  4. od 追踪_裁判员行为规范【基本功】——追踪裁判违例宣判练习 /五秒违例
  5. 农业谋定投资-农业大健康·万祥军:解读胡春华补三农短板
  6. Asp.Net数据库编程-10条最优方法[翻译]
  7. 【Unity】第8章 GUI开发
  8. 国际主流云厂商生存画像:三大赛道愈发清晰
  9. python imshow彩色_python中plt.imshow与cv2.imshow显示颜色问题
  10. mysql sys 数据库_mysql sys 数据库
  11. Matlab标准语音库 Timit Database
  12. 智能手表开发API接口
  13. c++ 传智课件_沪科版初中物理九年级全册第二节 科学探究:物质的比热容公开课优质课课件教案视频...
  14. 转 CSS 打印:http://eblog.nenu.edu.cn/user1/easter/archives/2008/1864.html
  15. Android集成腾讯X5WebView
  16. vc植物大战僵尸修改器简单源代码
  17. 岩土工程专业书籍推荐
  18. 炫酷的ViewPager翻页动画
  19. spider_study 1
  20. 电子邮件服务的配置和使用

热门文章

  1. 通过facade(尤其是realtime facade)来使代码更优雅
  2. 云计算如何对传统软件交付方式产生影响
  3. (转)jQuery禁止右键菜单,全选
  4. ObjectOutputStream 和 ObjectInputStream的使用
  5. c#判断输入textbox是否为数字
  6. Window 2000 网络操作命令全释
  7. 汇编 - ORG指令详解
  8. 细说JavaScript中对象的属性和方法
  9. android中跨进程通讯的4种方式
  10. Hadoop vs Spark性能对比