`

关于编程的思考

阅读更多
原帖地址:http://www.cnblogs.com/eu88/archive/2013/05/31/3110025.html

编程需要艺术存在。软件业界有个观点:水平高到一定程度后,干啥事都能感受到“艺术”。编程也不例外。搞艺术的一般都能感觉到快乐,周日去丰庆公园,看到很多搞艺术的团队,唱秦腔、通俗歌曲、红歌都有,多数都一唱就是大半天,但是他们每个人都看不出倦意,半天都没喝口水,因为他们自己都在玩心中的艺术,否则被一大群人围观,保准是脸红脖子粗。编程也一样,若是感受不到“艺术”的存在,写来写去,只会觉的是痛苦,就像“拉磨”的驴一样,一圈一圈的转下去,终点就是被淘汰的那天,结局就是被人装成小袋,放在大型的超市里,一辈子也没想清楚自己做的啥,也没有快乐可言。其实更多的是感受的艺术之后,你会随心所欲,你驾驭程序,驾驭工作,否则就会反过来。大部分人开发软件是为了满足客户的需求,而不是为了自己享受,这是原则,也是真理,然而编程艺术是人们对高水平程序创作的一种感受,但只可意会,不可言传,不能成为软件公司的一个指导方针。

编程确实需要技巧。技巧是锦上添花,不是画蛇添足。技巧就是技巧,不是伎俩,技巧不是靠谁苦口婆心的告诉你的,有句话是“纸上得来终觉浅,绝知此事要躬行”,《卖油翁》的故事告诉了我们技巧是怎么来的,“熟能生巧”,技巧是自然是承担了大量的工作,做了大量的事情(当然中间可能会犯许多的错误,烙下许多的埋怨,被人讥笑、冷眼、鄙视与不以为然)后,自然而然产生出来的。技巧伴随做事产看,伴随经验产生,技巧伴随总结产生,“驴拉磨”只是把事情做了,然而没有思考和总结,驴就是驴(人们习惯称为蠢驴)。只有技巧可以实现四两拨千斤,事半功倍。不懂的技巧,眼前自然是一篇困难,再简单的事情,让他做起来比去西天取经还难。写过的程序没有有效的积累,等下一次再遇见同样的需求,再重新写一次(等同于拉磨),还要人不时的催着点(等同于给驴上鞭子)。

没有思想的程序员是被淘汰者。软件开发有方法论,固然不假,人们总是通过各种方法使得需求变的明确,准确,然而软件开发就像一场球赛,有一个时间的过程,需求就像球场上的球,需要传递,球场上有守门员、后卫、中卫、前腰、前锋,软件团队中有需求分析员、策划、项目经理、架构、美工、程序。需求就像一个足球一样在人员之间传递,保不准那个环节上就会丢失(或者损耗),因此就需要每个人进行有思想的思考,把丢失(损耗)的东西给补上去,传递给下一个环节。软件开发需要一个团队,团队就是每个人都是一个重要的个体,别人不能替代。经常出现的情况是“这个问题没和我说,需求上没说这么做,我不知道这么做”,问题是谁能保证百分之百的和你说到?谁能?谁能?

团队中需要强人,强人占大数的团队,是产生好结果的团队。强人的作用无可替代,强人就像特种兵一样,能在关键位置上发挥无可替代的作用,甚至是以一敌十的效果,非洲草原上有百分五六十的能力强的狮子的狮群是所向披靡的狮群,狮群因此有了充足的食物,狮群因此生机勃勃。食物是捕捉来的,不是自己送上门来的,软件开发等、靠、拖是不行的,人多不见的力量大,就像一个女人能十个月生出孩子,十个女人一个月能生出孩子来一样。新手会产生很多新的错误,给项目添麻烦;强人向新手解释工作及交流思想都要花费时间,使实际开发时间更少,合理的搭配人员结构最重要。

未完待续。

本文链接

分享到:
评论

相关推荐

    关于_思考函数式编程_几点注记_裘宗燕.pdf

    关于_思考函数式编程_几点注记_裘宗燕.pdf

    基于少儿编程教育对机器人编程的分析与思考.pdf

    少儿编程教育是当前教育领域中的热点话题,特别是随着机器人编程的引入,它为学生提供了一种通过动手实践和逻辑思维来提升计算思维能力的途径。以下是从给定文件中提炼出的知识点: 1. 少儿编程教育的重要性:编程...

    初中信息技术实施Python编程教学的策略与思考.pdf

    本文将结合给定文件【标题】、【描述】、【标签】及【部分内容】,详细探讨在初中信息技术课程中实施Python编程教学的策略与思考。 首先,教学策略的制定需要充分考虑学生的学习情况。在教学过程中,教师应采用任务...

    关于计算机编程C语言的思考.pdf

    "计算机编程C语言的思考" 计算机编程是计算机领域发展、计算机程序应用于社会生产生活方方面面的重要方式。 C 语言是一种使用量、使用频率较高的编程语言,不仅可减少编程工作量、错误率,还能够提升程序的运行效果...

    编程语言中的架构思考-姚钢强.pdf

    关于面向对象编程中的继承,姚钢强指出,虽然继承在实现代码复用和“IS-A”关系时很有用,例如Java标准库中的Stack类继承自Vector类,继承了一系列的方法,如add、remove等。但过度使用或不当使用继承可能导致封装性...

    关于编程之言

    因此,他主张在学习编程语言的同时,应注重培养抽象思维能力,学会从更高层次思考问题,如算法优化、代码复用、模块化设计等,这些都是编程思想的具体体现。 #### 实践与理论的融合 文章还提到了理论学习与实践...

    指向深度学习的“学历案”应用与思考——以《打开编程之门》为例.pdf

    “指向深度学习的‘学历案’应用与思考——以《打开编程之门》为例” 本资源摘要信息是在信息技术课的背景下,探讨“学历案”的应用与思考,以《打开编程之门》一课为例。该资源涵盖了深度学习、数据分析、数据研究...

    编程珠玑 编程珠玑 编程珠玑 编程

    《编程珠玑》强调,优化不仅仅是关于速度,而是关于理解代码的运作方式和它对系统资源的影响。书中通过实际案例解释了如何通过分析和重构代码来减少内存消耗,提高程序响应速度,以及如何利用缓存机制来提升性能。 ...

    java面向对象编程课后思考题答案

    以上是Java面向对象编程的一些基本概念,通过解决孙卫琴女士教程中的课后思考题,学习者可以更好地理解和应用这些知识。解答集"answer"应详细阐述了这些问题的解题思路和实现方法,对于深入学习和复习Java面向对象...

    思考函数式编程_蔡学镛.pdf

    标题《思考函数式编程》和描述《思考函数式编程》表明本文档是关于函数式编程的探讨。在函数式编程(Functional Programming,简称FP)领域中,主要的知识点包括以下几个方面: 1. 函数式编程基础概念:函数式编程...

    函数式编程思维.pdf_函数式编程_函数式编程思维_

    在"函数式编程思维"中,程序员会倾向于用数据流和变换来思考问题,而不是通过控制流程来解决问题。这种方式可以提高代码的可读性和可维护性,因为函数式编程通常会产生更简洁、更模块化的代码。此外,由于函数式编程...

    学会编程 开始思考世界上的一切过程——《小学生C++趣味编程》校本教材开发研究.pdf

    切尔·雷斯尼克则指出,学会编程后会开始以全新的视角思考世界上的各种过程。 - **未来的趋势**:随着技术的发展,未来世界将更加智能化和自动化。掌握编程技能意味着能够在这样的环境中高效地利用计算机技术,更好...

    python编程入门指南-编程入门指南.pdf

    - 这些书籍提供了关于编程最佳实践、问题解决策略和软件工程原则的宝贵指导,是每个程序员成长的必读书目。 综上所述,Python编程入门需要结合理论学习、实践操作和广泛阅读,逐步积累编程技能。通过MIT和哈佛的...

    《Java面向对象编程》思考题及答案PDF

    这些知识点是《Java面向对象编程》一书的核心内容,通过阅读书中的思考题及答案,可以帮助读者巩固理论知识,提升实际编程能力。对于初学者来说,理解并熟练运用这些概念是掌握Java编程的关键步骤。

    编程珠玑 编程珠玑续

    《编程珠玑》和其续篇是两部深受...这两本书不仅适合初学者作为编程入门教材,也对有经验的开发者提供了宝贵的启示和思考。通过阅读和实践,读者不仅可以提升自己的编程技能,还能培养出解决问题的洞察力和创新能力。

    mbot机器人巡线程序-mBot机器人编程——用机器人的逻辑思考问题.pdf

    而学习机器人编程不仅是一个技术问题,更是关于逻辑思维和问题解决能力的锻炼。随着编程教育的普及,越来越多的青少年开始接触并学习如何让机器人执行特定任务,其中mBot机器人编程课程以其独特的教育方式和丰富的...

    少儿青少年编程python入学测试文档

    这是一个关于回文数字的谜题,不论怎么旋转或翻转都保持不变的数字是1或6(题目未明确是否为两位数,如果是两位数,则答案为11或66)。 5. **Python应用领域**: Python的应用广泛,涵盖游戏开发、网页制作、人工...

Global site tag (gtag.js) - Google Analytics