`
luliangok
  • 浏览: 780102 次
文章分类
社区版块
存档分类
最新评论

秘笈的最后半页, 成为软件开发高手

 
阅读更多
软件开发高手秘笈的最后半页的内容,最具威力最难练的绝招。

(转载请注明来源于金庆的专栏)

阅读“软件开发高手:十年磨一剑”一文,心有同感。
该文转载众多,多数以“IT高手的修炼秘笈”为题。

归纳后,秘笈内容仅寥寥数页,每页仅数行字,如下:

1) 要熟练掌握至少一种编程语言。我觉得最好是C++。
2) 不要寄希望于一次就把软件设计好。你所关注的重点应依次是Make it work, make it right, make it fast。
3) 软件结构要分块分层。低层模块不要依赖于上层模块。一个类、一个接口或一个函数都应只做一件事。
4) 软件设计的主要工作是给类分配责任(responsibilities)。要站在类的使用者角度设计类的外部行为。要讲究一点软件美学,即简单、清晰、一致、平衡等。
5) 了解并运用UML、Design Patterns、Unit Test、Design by Contract等。
6) 使用代码管理系统和质量跟踪系统。
7) 了解各种软件开发过程控制方法,并找出适合你的方法。
8) 阅读经典书籍,研读经典代码,订阅杂志,与同行切磋

我发现第8页上的最后一招“同行切磋”是最具威力,也是最难练的。
想像一下,两个程序员,一人仅得到这最后的半页残书,一人所得秘笈缺少最后半页,各自苦练,终成高手……

看前面全套招数,我都会练了,至少练过一阵子,只是功力问题了。
待看到这最后一招,就像见到了少林七十二绝学所汇总而成的一招绝技。
若要成为高手,必得勤练此招啊。

在此写写博客,算是摆个杂耍摊,吆喝一声,引众人围观,以此结交各路英雄好汉。

除此之外,还须进行线下地域性的交流,如北京程序员联盟,上海程序员联盟之类的组织与活动。

我已开设了一个CSDN上海程序员群组,希望借这个群组的交流,促进线下程序员的联系。
上海的程序员们,请速速加入上海程序员群组。


# 群组名称: 上海程序员
# 群组链接: http://groups.csdn.net/programmers_sh
# 群组描述:
上海程序员之家。上海程序员联盟。上海程序员俱乐部。借助地域交流的便利,提高上海程序员的整体实力。聚会联谊,男女配对,为上海单身程序员提供交友机会。举办技术讲座、培训活动,提高上海程序员的技术水平,帮助上海程序员新人迅速成长。为上海程序员提供求职招聘信息。促进上海程序员兼职与外包互助合作。扩大上海程序员的影响力。为上海程序员服务,维护上海程序员的权益。待人员扩大后,可考虑按更小的地域细分。
分享到:
评论

相关推荐

    java2编程21天自学通PDG

    最后一周为附加的深入篇,主要是扩展了前3周所学的知识,介绍了有关软件开发工具和编程环境,编写小应用程序和Java Server Page以及处理XML文件等有关的技术问题。 本书面向Java新手,从自学的特点出发每天一个主题...

    java2编程21天

    最后一周为附加的深入篇,主要是扩展了前3周所学的知识,介绍了有关软件开发工具和编程环境,编写小应用程序和Java Server Page以及处理XML文件等有关的技术问题。 本书面向Java新手,从自学的特点出发每天一个主题...

    Delphi升级精灵_软件检查更新自动升级源代码.rar

    一个Delphi升级精灵,完成软件自动升级,就像一些杀毒软件自己升级病毒库一样,如果你想考虑开发一套杀毒软件,那么本功能将是一个重要组成部分。实现思路大体是这样的:在互联网放一个包含升级文件列表及信息的文件...

    Python程序的注释-在代码末尾增加单行注释

    Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被人们用于独立的、大型项目的开发和设计 Python解释器易于扩展,...

    c语言编写单片机技巧

    因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。 综上所述,用...

    人工智能作文400字(2).doc

    人工智能作文400字 篇2 人工智能是把双刃剑,用得好,它就是人类的一大助力,用得不好,它可能会成为一 场灾难。而我个人的观点更偏向于后者。 就连社会最底层的人们都没有奴性,更何况是更加高等的人工智能,它们...

    JAVA上百实例源码以及开源项目源代码

    编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,...

    Linux操作系统基础教程

    我们并不能使同学们通过这次系列讲座成为一个 UNIX 类操作系统的高手,这次系列 讲座的目的就是在同学们中间普及 Linux 基础知识,为今后我们更加接近的了解 Linux 做一 个好的开端。 第一讲 Linux基础 在这一...

    JAVA上百实例源码以及开源项目

    此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这...

    VB课程设计俄罗斯方块

    游戏速度既为方块下落速度,游戏等级为初始游戏时在基层随机生成一定行数的无规律方块,生成的行数由你来选择,每行至少产生5个以上的无规律方块,这样增加了游戏难度,对于游戏高手来说,无疑不是一个新的挑战。...

    sysinternals 工具集合 (20090226版)

    Power Defragmenter是一个高手编写的Contig的GUI版本,带有一个图形界面,用起来更方便,更直观。可以大大提高碎片整理速度。使用前需要把Contig与Power Defragmenter放在同一文件夹下。  DiskExt  DiskExt 展示了...

    Windows环境下32位汇编语言程序设计(chm 罗云彬)

    它使用与C++语言相同的API接口,不仅可以用来开发出大型的软件,而且是了解操作系统运行细节的最佳方式。本书从编写应用程序的角度,从“Hello World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的...

    [2010.10.14][封装工具][天空作品] Easy Sysprep v3 RC3(+ SkySRS3.00)

    再次重申报毒问题,封装软件肯定涉及系统深层的东西,还会修改部分系统文件与系统服务,被误报纯属正常(被某些国产杀毒误报就更正常不过了),微软官方杀毒没把ES3中任何一个文件当做病毒,大家可以自己尝试。...

Global site tag (gtag.js) - Google Analytics