• 软件设计师


    软件设计师

    这里的软件设计师是指软件公司以及企业单位从事软件开发的IT人员。他们所要开发的软件是指外部用户和企业内部用户两个方面。下面将不再特别区分这两种情况。

       这段时间我一直在观察我周围的各种各样的软件设计师,也和他们进行了各种沟通,也谈过项目的总体构架,也谈过功能的具体实现。我不断地在观察他们所说所做的背后的原因,让我有更多的感慨。他们大都关注具体问题的如何解决,根本不注意问题的解决方法,不去注意自己的方法和别人的方法的不同之处,就事论事。就像很多中学生只关心试题的答案一样,不去深入掌握解决问题的方法,结果就造成做过的题会做,没做过的题不会做的状况,这样的学生如何能够获得稳定的好成绩呀。

    感慨这么多,还是回到本次话题吧。我还是想换个思路,这次不是把软件设计师要思考的问题都罗列出来,而是要把如何写好这个话题的思路展示给大家,这个思路就一种解决问题的方法。掌握了这个方法我们就可以将这个话题写得更好。

    1、 软件设计师要思考那些问题的范围

    软件设计师要思考那些问题首先要确定思考的范围。这个思考范围是要对设计师是有用的,有重要作用的。那些无关紧要的内容,可以舍弃,我们必须突出重点。

    从这个角度出发,我认为从软件制作周期内每个环节来讨论软件设计要思考的问题是比较合理和科学的。这里我强调了软件制作、周期、环节这三个重要的要点。很多人在考虑软件设计师要考虑问题时,立即会想到采用什么技术,某个功能怎么能具体实现这样的具体问题。如果,你要问他为啥这样想,他就会反问拿到这些问题不重要吗?不需要考虑吗?如果你回答不重要,他立即会讲出很多重要的理由,你回答重要,缺附和了他那种凌乱和具体的思维方式。

    一个好的软件设计师应该闭上眼睛就能把他要思考的问题一个不漏的讲出来。这就说明了他掌握了那种职业的方法。如果他讲不出来,或者今天这样讲或明天那样讲说明他根本没有对这个问题有系统性的认知。对于这种软件设计师,你都可以闭上眼睛就可以知道他是如何走一步看一步的进行自己的设计的。

    1) 软件制作

    从软件制作这个方面来思考,表明了软件设计师的职业所然,是有明显的职业针对性的。如果我们从工资收入、人际关系等方面来思考问题,那就不仅仅是软件设计师了,其他的诸如项目经理、管理者、文秘等等都可能思考这些问题的。

    2) 周期

    软件制作是一个过程,也可以看作一个周期(相对于下一个项目)。软件设计师是这个过程的参与者,是全过程的参与者。因此,我们要站在软件制作的整个周期来思考些问题。而不是在这个过程中某一点来思考一些问题。很多设计师并没有软件制作的周期意识,只有别人问到他的时候,他才说这个他知道。其实他真的不知道。因为知道了,别人也不会问他了,知道了,也不会把思考点只集中诸如需求分析、方案设计上面了。

    3) 环节

    软件制作是一个周期,而且它是一个可以划分的。因此,软件制作就可以有各种各样的环节。无论这个环节怎么去划分,但是这些环节一定包含了软件制作的全过程。所以,环节和全部环节是我们必须要表达的。很多软件设计师并不在意软件制作的环节和全部的环节。还是那种自然主义思想,做到那边算那边。

    我把软件制作分成10个环节:   1、需求 2、需求分析、3、软件构架设计 4、软件详细设计及文档 5、开发阶段 6、测试阶段 7、上线阶段 8、投产运行 9、用户反馈、10、日常维护。

    面对这些环节,程序员都是有很多很多思考问题的。

    2、 如何编写思考的问题

       当我们明确了程序员思考的范围之后,我们就可以在这个范围内进行进一步的思考。比如我们面对需求这个环节,我们要去如何思考,我们面对软件设详细设计,我们要去如何思考。当我们掌握了这种思考方法后,我们就可以对其他环节进行更加有效的思考了。

       一般的软件设计师并不关心思考方法,面对需求可能直观地想到了需求书、想到了功能;面对软件设计可能立即想到语言选择、采用什么技术、基本的算法。如果你去问他为啥要这样想,他又会同样的找出他说所讲的重要性。这种随想随说的思维方式和需要极强的逻辑性的软件设计师的职业特点是完全不符合的。

       对于一个问题的思考每个人有每个思考方法,但是,这并不意味每种思考方法都是对的。判断对错的一个标准,就是思考的结果能够更好更快更科学地解决问题。这个“更”一般人都是和原来的自己比,也就是说通过思考自己比原来想的更好了。这样的“更”含金量价值不高。这个“更”应该和你周围的同伴相比,应该和你认为的高手相比。这样思考的结果才更有说服力。对于软件设计师来说这种思考的结果是必须的,不采用最好的思考结果,就不可能产生最好的软件。

       对于软件设计师如何在某个环节的思考方法问题,我认为首先要明确这个环节的思考得目的,也就是说搞清楚为啥在这个环节要思考,不思考行吗?第二步把这个环节的有关思考的对象罗列出来,对象的颗粒度越细,思考的问题就越深入。第三步将思考的对象之间的关系以及程度罗列出来,第四步对这些对象和关系相互之间进行组合思考,第五步对每个思考加入自己的经验和其他人经验进行有效地验证,或进行有效的推论。第六步,对所有思考进行归纳得出思考的结论。

       其中第一步是很重要的,它是你思考的基础和范围,如果你的对象在这个范围内收集的比较全,这样你的思考的全面性就得到了保证。在全面性基础上,我们才可以去考虑内容的合理性。

    我们以需求这个环节为例,看看我们所要思考的问题。

    首先我们要把需求环节思考的目标给明确起来:那就是软件设计师要对需求本身和需求环境有一个充分的了解,尤其是对需求的了解渠道和了解结果有一个充分了解了。只有对需求这个环节充分了解之后,我们才可能进入需求分析环节。否则,到了需求分析环节,你可能还要回到需求这个环节再次思考。

    第二,将所有思考对象尽可能的罗列出来。例如,需求提出者、本人、其他需要掌握需求者、需求书、需求环境、时间要求。这些大类的对象还可以细分成很多小的对象,对象的颗粒度越细,思考的问题就越深入。例如,需求提出者的属性,提出者是单位,还是个人,提出者所在的企业、提出者所在的行业等。

    第三、将对象之间的关系和关系程度进行罗列。例如,将需求书与本人之间对象的获取、阅读、理解、掌握罗列出来,对这些关系程度如:获取:没有问题、困难、暂时无法获取;阅读:完全阅读、不能全部阅读、无法阅读;理解:完全理解、部分理解、不理解;掌握:完全掌握、不完全掌握、不掌握等也罗列起来。

    第四、第五、第六因篇幅问题我就不在举例了。 

    我就需求环节可以举出数以百计的问题来,我在这里随意地提出几个思考问题,并把思考这些问题的目的也进行了说明。

    1 提出项目的用户是什么企业事业单位?属于何种行业?其在行业中的地位如何?

        问题的目的是要明确项目的分类,评估项目建成后项目的行业地位。强调行业是从行业的角度上来看待这个项目,以便这个项目可以归属到某个行业项目之中。或从某个行业项目之中获取相关需求经验。

    2 提出需求的用户是企业中的什么部门,是属于企业哪一类部门,生产业务部门?管理部门?办公部门?

        问题的目的是明确项目的应用分类,是属于业务系统、MIS系统、办公系统。通过分类可以利用不同类型系统的规律对项目进行分析。

    3、提出需求是软件公司自身吗?软件公司提出开发软件的原型需求的企业和部门是什么?

    问题的目的是了解需求来源的渠道,如果是自身软件软件,渠道相对容易畅通,如果其他企业则要考虑渠道是否畅通问题。

    4、用户提出需求的原因是什么?是因为企业产品业务发展的要求?是企业内部管理的要求?还是外部监管要求?是企业上级部门的要求,还是企业下级部门的要求?

       其问题的目的是进一步了解需求的来源、了解需求的重要程度和紧迫程度,这对下面的各个环节都是十分重要的。

    5、提出需求要解决什么问题?业务的流程的计算机化?产品生产的计算机化,减轻原来的手工操作、提高工作效率?满足上下级管理的要求?实现管理手段的信息化?原来的系统地升级改造?实现软件的商品化?

       其问题的目的是进一步对项目进行分类,通过分类归属,可以按照所属归类进行不同的处理和分析。

    6、需求是提出急迫吗?项目要求完成时间急迫吗?

       其问题的目的是了解项目的紧迫性程度,不同的时间要求,可能决定不同的设计方案。

    7、需求有完整的需求说明书吗?如果是外部强制要求,外部有相关文件和需求说明吗?

       其问题的目的是了解项目需求书的是否存在,是否完整,相关外部需求能否获取。如果存在问题,则要考虑如何去解决这些问题。

    8、当需求不完整的时候,用户能指定需求解释人员吗?

       其问题的目的是能否建立面对面的沟通渠道,这个渠道能否满足对需求了解的要求。实践中指定的解释人员可能也不是能够解释通需求的。

    9、根据以往经验初步判断,这个项目或软件是属于大项目?中项目?小项目?根据以往经验和开发队伍初步判断这个项目或软件是否有技术难点、这个难点能否克服、大概需要多长时间能够完成

       其目的对项目进行分类利用原有的开发经验对其作出初步的判断。

    10、与之交流的用户属于什么类型?外向?内向?需求是否熟悉?表达是否清晰?是否有充足的时间?当无法与之交流的时候,是否可以请求换人或增加需求人员?

       其问题是为项目的需求沟通做好各种准备工作,因为不同沟通对象会产生不同的沟通效果和效率,因此,要为有效的沟通进行充分的准备。

    我可能在本文中过分强调软件设计师的思考方式了,这也是我感到无奈的地方。本文的题目可以改成“软件设计师应该如何思考问题”。软件设计师可以将数以百计的思考对象和数以十计的对象关系进行排列组合,那是怎么样的无穷无尽的思考话题呀。要思考的问题可以无穷无尽,而思考问题的方法却十分有限,我们真的可能要关注方法了,先方法后问题,也许我们可能收获更多。如果读者有兴趣按照软件制作十个环节,逐一地去思考每个环节中的目的、对象、关系、程度、组合、经验、结果,你就会发现软件设计的职业的思考范围之广之深之无限。可以这样说软件设计师的之间的差距首先是思考方式上的差距,然后是思考范围上的差距和思考内容上的差距。

    摘要: 编写一个功能函数首先要了解为啥要编这个函数,这个函数有什么用途,这个函数的设计思想是什么,这个函数的算法是什么,这个函数的效用如何?然后,我们再可以评判一下这个函数好在什么地方,不好在什么地方,那些是需要改进的,那些是改进不了的。这样我们才能对这个功能函数有一个深刻的理解和认识。 我会在功能函数分析之中,引深到NSS和EOM概念之中,从而让大家从代码中开始认识NSS和EOM。 今天我们就来讨论一下调用WebService这个函数。 阅读全文

    posted @ 2010-07-14 09:42 n216 阅读(1192) | 评论 (13) 编辑 |

    摘要: 从现在起,我们将从这里开始去编写我们最好的程序,让这个程序用于EOM、用于程序员们当前或未来项目之中。通过我们的程序提出、交流、分析、比较等过程我们有可能得到最好的程序。而这个过程其实比程序的结果更加重要,因为这是一种新的软件制作形式,它通过更多程序员的参与将程序员的个人劳动和智慧变成了团队(大众)的劳动和智慧了。这种劳动和智慧凝聚了更高的价值。另外,通过新手、普通程序员、高手、超一流程序员的共同参与可能使得程序在各个视角中被审视,让不同层次的程序员看到别人对程序的不同理解,从而加深了对程序的认识和理解。 阅读全文

    posted @ 2010-07-13 08:59 n216 阅读(1283) | 评论 (6) 编辑 |

    摘要: 程序员不但因为工作要学习语言,还会因为未来职业发展考虑学习语言,而未来职业发展需要何种语言,需要掌握多少语言,是一个未知数,所以,大家潜意识里有一种多多益善想法,恨不得来一门学一门,一个都不放过。因此,程序员心理负担极为沉重,无论是在工作时候,还是休息时候,每每在想“门门通还是精一门”这个话题。 从我自己的成长经历来看,一个程序员一般至少要精通二门语言。这个两个语言一个应该是面向过程的语言,一个是面向对象的语言。至于了解和掌握多少其他的语言,那就要根据工作需要和个人职业规划了。一般三到五个也就足够了。也就是说一个程序员一般要掌握五六种程序设计语言,其中2门必须是精通的,其他3-4们语言只要一般掌握,会利用他们进行编程就行了。我想对程序员说,实用主义是最好的主义,把现有的实用的语言掌握好,研究深入一些比什么都重要,人可能都会有“这山望着那山高”的想法。但是只有站在这山上,才能望到那山。 阅读全文

    posted @ 2010-07-07 08:40 n216 阅读(3668) | 评论 (42) 编辑 |

    摘要: 在当今社会阶段,可以说工作的目的就是获取薪水,就是获取更高的薪水。但是,薪水的高低的决定权并不取决于企业的员工,而且是取决于企业的管理者。这就造成了员工和管理者之间的博弈。加薪的问题是一个相对比较复杂的问题,每个企业、每个领导、每个员工的情况都不一样,都会给加薪问题带来不同的结果。很难用一个通用的表述来解决。但是,我们也考虑了一些要注意的问题,向程序员提供一些参考:1、加薪的时机 2、加薪的理由 3、加薪的表达 4、 加薪的结果 说到底,加薪是要靠自己做出成绩,要靠自己争取的。其中做出成绩是正道,争取方式是技巧。两者有机的结合,就可能达到自己加薪的目的。如果,一切做得很好,但是依然加薪不了,那就可以考虑换个环境了。阅读全文

    posted @ 2010-07-06 08:28 n216 阅读(4160) | 评论 (43) 编辑 |

    摘要: 放眼当今社会,“我”字当头,相当普遍,相当流行。我想、我能、我做、我行、凡事以我为先之状况处处可见。人有了自我,有了自我实现,凸现了与众不同,提升了人的人生价值,是一件大大的好事。同样程序员也是“我”字当头的职业,很多程序员以“我”为中心,自信满满。 对于普通程序员来说,这是一件好事;但是对于追求优秀的程序员来说,就可能是一种约束。目前,在中国已经度过了程序员个人英雄主义的阶段,那个阶段程序规模比较小,容易产生一个人就能完成的程序。而现在一方面程序本身的规模越来越大,需要越来越多的程序员分工协作,另一方面,程序之间的关联性越来越多,也从客观上,需要程序员之间加强协作。程序员要想获得更大的发展空间、想要获得更多的收入,那就更需要和外界发生联系,去寻找和发现更具有市场价值的软件,以这个软件来寻找更多的“我们”。 总之,程序员在成长阶段,一定要意识到“我”是束缚自己成长的最大紧箍咒。一定要舍小我求大我,养成“我们”的良好习惯。这个习惯可以很好地支撑着程序员走向成熟阶段、走向优秀阶段。 阅读全文

    posted @ 2010-07-02 08:24 n216 阅读(1698) | 评论 (11) 编辑 |

    摘要: 不管怎么说,文档绝对是程序员最大的软肋。一些被称之为高手的程序员,往往是文档方面的低能儿。不管这个程序员是在大公司、还在小公司、不管程序是写文档的、还是不写文档的,大部分程序员在内心深处中是不愿意写文档的。我认为程序员不愿意写文档的原因有:1、怕烦 2、没空、3、没有用 4、没好处、5、不会写等。程序员真正不喜欢写文档的原因是:文档是给别人看的,不是给自己看的。不管怎么说,作为一个程序员(尤其想成为优秀程序员)一定要学会写文档,一定要学会欣赏文档。无论你是否喜欢,你都可以在文档各种问题面前可进可退。我可以说,那些既不会写文档,又不会欣赏文档的程序员是没有资格说“我就不喜欢写文档”这种话的。 阅读全文

    posted @ 2010-06-24 00:13 n216 阅读(3013) | 评论 (30) 编辑 |

    摘要: 其实,大量编程会给程序员带来大量的快乐和大量的苦恼。快乐的有:成就感、被认同等,烦恼的有:面对问题,担心跟不上技术发展等。我们很难去穷尽这些快乐和苦恼的。这个不是你自己愿不愿意的事,而是工作要求。任何一个程序员从入门到成长都必须经历这个阶段,这个阶段将会为今后的成熟阶段和优秀阶段打一个重要的职业基础。我们面对编程要怀有一颗快乐的心态,无论多么烦恼,我们都要坦然面对。这样我们才能真实享受编程中种种的快乐。否则,当烦恼超过快乐的时候,我们所有的快乐将会化为乌有,我们所有以前的积累的价值将回归于零。 阅读全文

    posted @ 2010-06-23 08:35 n216 阅读(7105) | 评论 (14) 编辑 |

    摘要: 加班是程序员职业的一个普遍现象,它主要是由于编程工作不可中断性所决定的。加班说明我们有软件需要开发,加班越多说明我们的软件市场越大,加班越多说明我们软件开发竞争激烈程度越大。当有一天我们不加班的时候,我们就要怀疑我们饭碗是否还能保的住,程序员这个职业是否还会存在下去。而我们主动加班却是一种代表我们对程序员职业的一种兴趣、爱好和追求。我们在加班中付出了劳动,我们就要在劳动中去寻找我们的快乐,去寻找和延续我们的梦想。阅读全文

    posted @ 2010-06-22 08:35 n216 阅读(3443) | 评论 (45) 编辑 |

    摘要: 上班了!拿工资了!从学生到转变成社会的劳动者,这是人生阶段的一个重要的标志。当拿到自己的薪水之后,是喜悦、是满足、是苦恼、是无奈每个人的感觉都是不一样的。几乎没有一个人会认为自己收入是高的,所有的人都希望自己的收入越高越好。这个原因主要是人对金钱追求是无止境所造成的。薪水带来的无尽烦恼会让我们心绪不宁,耿耿于怀。但是,我们却无法掌控薪水的多少,薪水不是靠我们去想出来的,就象发财不是靠做梦就能达到的道理一样。今天的薪水也许很低,但是必须承认我们的水平也很低;我们眼前毕竟有收入比我们高的多的程序员,总有一天我们也会达到他们的收入水平。 阅读全文

    posted @ 2010-06-21 08:32 n216 阅读(2706) | 评论 (13) 编辑 |

    摘要: 招聘面试是一个用人单位(面试官)与招聘者之间的博弈,不同的应聘者、不同的用人单位,不同的面试官会产生不同的面试过程和不同的面试结果。因此,如何应对面试是很难有什么正确答案的。但是,大量面试沉淀下来的各种成功的经验和失败的教训却是我们可以参考的。新手在面试时常见有以下几个问题:1、 简历灌水,2、 恐惧心理,3、 表现欲强,4、 准备不足,5、 性格内向,6、 逻辑不清,7、 潜力不明。新手在面试时,要准备充分,要端正自己的心态,即不要过分地表现自己,也不要恐惧犹豫,说话要条理清楚、注意面试中的各个细节,尽可能地向面试官展示自己良好的职业素质,展示自己未来发展的潜力,这样面试官就可能对他有一个良好的印象,有助于他获得这个就业机会。 阅读全文

    posted @ 2010-06-17 08:34 n216 阅读(2594) | 评论 (6) 编辑 |

    摘要: 无论是软件公司兴高采烈地拿到了项目,还是企事业内部电脑部(科技部)无奈地接收到了项目开发任务,两者都会面临“需求”问题。需求是定制软件的起点,也是定制软件的终点。在中国没有需求就没有软件,没有软件也就没有软件设计师,没有程序员了。但是,需求并不是一个天上的馅饼,现实中谁吃谁倒霉,谁就被其折磨至疯至死。越是大项目,需求就越多越复杂,越是大项目,需求就越会变化,这种对需求的掌控,对需求变化的应对就成了软件设计师把握项目最重要的基础。 软件行业出现“需求驱动”开发模式,必然会造成软件设计师的永远的痛,无论怎么医治这种痛始终存在,无法只是大痛和小痛之分吧了。只有跳出现有思维的圈子,对这种开发模式的彻底反思,我们才能找到根治这种疼痛的良方。 下篇:《软件设计师要思考那些问题》 阅读全文

    posted @ 2010-05-14 08:34 n216 阅读(2093) | 评论 (20) 编辑 |

    摘要: 有个朋友对我说:“现在的年轻人,甚至工作十年的程序员对汇编语言一点概念都没有,有时间你可以举个例子,让我们看看什么是汇编语言。” 阅读全文

    posted @ 2010-05-13 08:48 n216 阅读(2602) | 评论 (34) 编辑 |

    摘要: 有的人为软件设计师后,还在编程;有的成为软件设计师后,则放弃了编程工作。软件设计师一方面要与程序员拥抱之密,不可不知程序员所能,不要放弃程序员之能;另一方面也要摆脱程序员的之纠缠,不能被程序员细节所困,不能深陷编程不能自拔。要明晰自己的角色,学会在不同角色中承担不同的职能。优秀的软件设计师在设计时候是设计师的角色,在编程时候是程序员的角色,这些角色转换在瞬间就完成了。知道和了解软件设计师的职业特点,有助于程序员平时多注意观察和学习身边软件设计师的方方面面,逐步把自己推向软件设计师的层次。下篇:《需求是软件设计师永远的痛》 阅读全文

    posted @ 2010-05-12 08:35 n216 阅读(1645) | 评论 (11) 编辑 |

    摘要: 我记不得自己是什么时候成为软件设计师的,我也不知道是不是拿到工程师证书就表示了我是软件设计师。可能程序编多了就成为软件设计师了。我见过许多软件开发人员,不知道称他们是程序员还是软件设计师,有时他们自己都不能确认自己是不是软件设计师,这样会对其自身成长是不利的。那么软件设计师和程序员区别究竟在何处?软件设计师的标志是什么呢?今天我就静下心来好好地思考这个问题。软件设计师从本质上来说,就是把一个项目中的需求变成可编程实现的设计方案。他对上面对的是项目需求,对下面对的编程,自己则是需求和编程中间的桥梁。这个桥梁就是设计方案。长期实践中我认为软件设计师的标志就是能够编写软件设计方案。下篇:《软件设计师与程序员之间的拥抱和摆脱》 阅读全文

    posted @ 2010-05-11 08:30 n216 阅读(2943) | 评论 (33) 编辑 |

    摘要: 在这里我希望我的软件设计的经历和经验有助于软件设计师的成长,同样我也想谈谈EOM对软件设计师水平的影响以及对软件设计师自身价值实现的影响。同样也希望自己能坚持写完这个主题。 下篇:《从程序员到软件设计师的标志》 阅读全文

    posted @ 2010-05-10 11:22 n216 阅读(1251) | 评论 (2) 编辑 |

    摘要: 本文摘录了有关EOM相关问题,例如什么是EOM,EOM在企业信息化中的作用,EOM与现行软件制作的思路上的差别,EOM与ERP等之间的差别,程序员和EOM之间有什么关系等。例如:1、“EOM是从定义企业经营角度入手,把我们今后要开展的各种研究和开发活动都放在一个理论可支持的基础之上。有了企业经营定义之后,我们才有可能来分析我们需要什么软件,我们的软件采用什么技术才能实现企业经营的目标。而程序员则通过EOM了解到企业经营需要什么样的软件,这个软件有多大的价值,这个软件采用什么技术才能实现,自己要提高什么方面的技术水平才能获得更大的价值。” 2、“现行思路:需求提出-〉开发-〉应用系统-〉企业信息化-〉企业经营 EOM思路:企业经营-〉EOM-〉EOM的企业信息化-〉企业信息化总体构架-〉通用系统-〉需求满足。” 3、 “我认为程序员首先要学会“做什么”,才能“怎么做”,千万不可反了,反了,就会和现在的程序员下场一样。” 4、“我敢说对EOM关注和了解,可以扩大程序员的视野;就如人们因冬天而不出户,因春天而踏青采光,在春天里感受着春风,感受着春花烂漫,感受着生命的多彩。。。” 阅读全文

    posted @ 2010-05-10 08:24 n216 阅读(1113) | 评论 (0) 编辑 |

    摘要: 本文摘录了程序员最为关心的问题:什么样的程序是好程序,优秀程序员应具备的那些素质,程序员的价值如何计算,程序员怎样才能获得最大的收入等。例如:1、“我们可能永远不能写出传世之诗,我们却能够要求自己编写如诗的程序,享受那种写诗的过程和情趣。 不断地追求诗的境界将会让我们的程序更加精炼、编程工作更加美好。” 2、“我认为优秀程序员应该具备十大素质:1、心怀理想 2、充满激情3、市场意识4、永不放弃 5、团队精神 6、面向对象 7、基础扎实 8、条理清楚9、全面细致 10、求新求精” 3、“我感到程序员自身价值有两个方面,一个方面是程序员的收入价值,一方面是程序员市场价值。” 4、“市场价值最大化就是多编制商品化软件,在编制定制软件还是通用软件选择中,它可以成倍地提高程序员的市场化价值。” 5、“当我们没有足够的金钱的时候,我们需要追求我们的市场价值,当我们无需考虑金钱的时候,我们可以追求自由、平等。 其实两者并不矛盾,两者都需要追求价值,都是有意义的,关键是看我们现在所处的条件。” 下篇:《精彩语录:EOM与程序员话题的小结5》 阅读全文

    posted @ 2010-05-06 08:23 n216 阅读(1240) | 评论 (7) 编辑 |

    摘要: 本文摘录了有关程序员关心的程序的效率、程序的水平、项目大小、界面和功能、程序调试、程序员应该掌握的实用的编成技能、程序员编程的7个层次等话题中的精彩论点和语录。例如:“提高程序效率要从六个方面入手:1、 程序要简短 2、减少循环内操作 3、充分利用内存 4、减少I/O操作 5、提高调用效率 6、使用全程变量”。 2、“程序出错一般有:未定义、语法、运行出错三个方面。” 3、 “长期的编程实践中我认为以下的编程技能是基础,是必须要掌握的: 1、赋值 2、条件处理 3、循环 4、字符串操作 5、算术运算 6、数组 7、 调用 8、 文件操作 9、 逻辑运算10、数据库访问11、控件12、类13、参数化” 4、“有的人因为人总是要死的,就不想活了,有的人因为人总是要死的,却总想活好一点。这就是差距。” 5、“我认为程序员要经过5-6个小项目的锻炼才能入门,而经历了3个以上的大项目的程序员才开始成熟。” 阅读全文

    posted @ 2010-05-04 08:45 n216 阅读(1110) | 评论 (3) 编辑 |


  • 相关阅读:
    es6小记
    CPU密集型和I/O密集型区别
    Gulp小记
    原生表单的小详解
    div无法触发blur事件解决办法
    HMTL列表详解
    Angular开发小笔记
    Angular组件生命周期钩子
    css小笔记
    HTML格式化标签
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1969567.html
Copyright © 2020-2023  润新知