程序员随笔第一部分第九节官事.docx

上传人:b****6 文档编号:4990835 上传时间:2022-12-12 格式:DOCX 页数:22 大小:56.72KB
下载 相关 举报
程序员随笔第一部分第九节官事.docx_第1页
第1页 / 共22页
程序员随笔第一部分第九节官事.docx_第2页
第2页 / 共22页
程序员随笔第一部分第九节官事.docx_第3页
第3页 / 共22页
程序员随笔第一部分第九节官事.docx_第4页
第4页 / 共22页
程序员随笔第一部分第九节官事.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

程序员随笔第一部分第九节官事.docx

《程序员随笔第一部分第九节官事.docx》由会员分享,可在线阅读,更多相关《程序员随笔第一部分第九节官事.docx(22页珍藏版)》请在冰豆网上搜索。

程序员随笔第一部分第九节官事.docx

程序员随笔第一部分第九节官事

 

程序员随笔

Hello,World!

 

乃军

ToMyWife&Children.

 

每一本书都是旨在造就读者的教育。

【法】雅克德里达《解构与思想的未来》

前言

关于本书的定位。

看够了把森林变为专业和伪专业的书籍,老五希望本书是真正的伪专业。

老五是个普通而倔强的程序员,在参与了十年开发工作后,有一天喝咖啡的时候从简单的视角去观察“开发技术”时,他突然发现,把商业软件开发当作高新技术其实是故弄玄虚,软件一直就是代码、文字、图片、算术,从来就不是什么新材料。

开发技术,特别是应用软件开发(供非计算机专业人士使用的软件),一直都在人类最基本的思维上面做文章。

因此老五非常希望非计算机专业人士能看懂这本书,只要你喜欢运用你的逻辑思维,就像看福尔摩斯、大侦探波罗一样,并且,如果你是真的在认真运用自己的逻辑思维的话,你会发现本书里每句话都有点道理,整体逻辑上却漏洞百出,哦,真的这样的话,恭喜你,可以当程序员了,因为你的头脑里建立了很重要的一个黑话,专业上称之为“逻辑”,或者就是这种思维模式,“如果…那么…要不…实在不行…总之,有的是办法”。

当年有个别人梦想“通过电脑和互联网实现无纸化办公”直接导致了人类需要更多更好的纸张来打印各种文件,很显然这个善良的梦想间接导致了更多的森林被砍伐,然后地产商顺理成章的在树林上面盖上高楼大厦和精美别墅,“无纸化办公”梦想的失败是从客户需要(专业称为需求,requirement)到代码实现成果扭曲的一个案例,看看高大上甲方企业仓库里堆放的印刷精美、厚堪比肩、从未被阅读过的标书就可以得到证明。

当美好的梦想与残酷的现实同时摆在人们面前的时候,有些人会发现电脑、软件、网络、云、雨、雷、电,那些看起来完美的技术怪兽,其实都跟硬币一样有两面性。

绕个弯子说,正因为一切都是硬币,我们的生活才有机会进步。

包括代码在内所有的文档都是软件,本书中的“软件工程师”是参与软件项目交付的所有工程技术人员,包括美工、业务需求分析人员、设计人员、测试人员、实施人员、技术支持人员,因为职业的习惯,很多时候,狭义的说,特指编写代码的程序员,其实,只有程序员是无法完成软件工程的。

再宽泛一点,保洁和保安也算,他们的工作模式同样给工程师带来解决问题的灵感。

离开了实际生活,程序只是一堆0和1,不具有任何实际意义。

老五刻意去讲一些真实的“新”故事,而不去CV(Ctrl+CandCtrl+V,“复制”)。

在这些故事里,老五不一是真实的主角,也有夸大其辞、甚至调侃之嫌疑,这无关紧要,关键是记录一些新故事而不是回顾“四书五经”系列嚼烂的甘蔗,这是很好玩的事情,原创的故事和文字往往有些蹩脚,不像引经据典那样具有高度忽悠性,好玩之处是其它书里或网上看不到。

不用担心,四书五经系列汗牛充栋,那些完美的人类理想一直都是作为理想放在书架上,感兴趣的请读富可敌国的大师们的书。

同时,读者们也不用担心自己当1.0小白鼠的问题,这里公开发行的故事1.0对于作者来讲至少是第五版,确切的说2016年看到的这是第六版。

衷心希望每位读者都享受这些“新”故事,同时努力讲好自己的故事,写好自己独特的人生(uniquelife),这个世界上没有同样的人生,也没有同样的故事,这丝毫不影响人们有同样的感受。

对于80%的读者,我们的新程序员来说,单就某项开发技术而言,Baidu似乎可以搜出30%的答案,实在不行Google可以搜出70%的答案,而他们更需要的是一个思想体系或者至少需要一个学习方法论(Methodology),这个思想或方法论的第一步是“我需要做什么”(WhatIneedtodo?

),然后才是“怎么做”(Howtodo?

),本书将采用絮叨的方式,记录一些真实体验,给新手一点点启迪。

第一部分遐想漫谈

如果讲师对于课程内容没有实际体验的话,课堂就是寝室。

老五

第一节傻瓜

REMEMBER:

COMPUTERKNOWSNOTHING,WEGAVETHEMALL.

软件开发的魅力就在于,软件工程师们可以创造一个“自我”的世界。

软件其实什么都不知道,或者更确切的说计算机什么都不知道,那只是一台呆头呆脑的冷血机器,所有的信息都是人类告诉它的,并且是适用所有形容词(比如聪明、懒惰、贪婪、高尚…)的人类决定如何使用它,这种机器跟一把铁锹或拖拉机没有本质区别。

说的伪专业点就是“任何系统都要有输入”,再说具体点就是我们必须告诉软件它使用的数据(数据一般存放(Save,得救,持久化)在文件里,文件又大又多组织起来就是数据库)在哪里,告诉程序接口(Interface,就是定义规矩的领导)的实现类(Implementation,就是真正干活的那个家伙)是哪位老大。

计算机永远不可能生而知之,都是有人告诉它的,它只是基于人类设计的规则做事。

它的智商略低于它的创造团队智商,具体的数值的计算方法还在调研计算中。

 

完整的系统是对称的,由输入(Input)、处理(Process)、输出(Output)三部分组成,可以简称为IPO,输出是输入被处理后的结果。

如果输出反过来再影响输入,我们称之为“反馈”(Feedback),一个完整的系统总称为IPOF。

反馈无处不在,在社会学里是沟通的重要组成部分。

目前这种反馈还充斥着大量的人为操作,在遥远的将来,计算机将成为可以自学习、自进化的机器,那时候计算机系统可以对输入进行处理,再根据处理的结果进行自我完善,当系统的这种自完善的智能达到一定程度的时候,计算机将成为机器人,可以与人类抗衡。

这并非科幻,像鸟儿一样在天空中飞行的梦想从人类诞生那天起就存在了,而飞机才刚刚发明了一百年。

在IPOF四个基本环节中,不同的应用系统侧重点不同。

对于以业务数据处理为核心的系统(比如婚姻介绍所、超市、机场指挥塔)来讲,这四点同样重要。

基本的要求是:

(1)无论输入多么繁杂,绝对不能让错误(那,什么是正确和错误?

)的数据进入系统。

(2)处理可能相当复杂,不同的客户要求不一样,系统应尽量高质量的满足重点客户期望的重点功能要求。

(3)输出永远是终极目的。

正确、稳定、效率、格式、层次都是要重点考虑的问题。

只有输出反馈到输入,系统才可能持续完善。

(4)每个环节都要符合人类思维,这称为人机工程。

永远欢迎创新,但千万别忘了这是在地球上。

什么是输入?

对于电梯调度程序,如果每个楼层有一个特定按钮,用户按下的楼层就是输入,这种输入一般不会有范围问题。

如果输入面板上有10个数字要求输入楼层号的时候,就需要纠错处理,因为,往往只有部分输入是有效的,比如一般的楼没有第99层。

这在数学里叫“子集”,看来中学的知识还是有用的,只是当年老师没有讲,或者讲了我们没记住,因为当时所有的人只关注考试分数。

再举一个伪专业的例子,当我们访问网站时,第一个看到的页面往往也是需要配置(Configuration)的,所谓的配置就是专业人员设置一些参数(Parameter),所谓的参数就是开关(Switch),这种配置可能在文件中,也可能在数据库(就是一大堆有规则的文件)中。

正常来说,这是网站唯一的入口,程序里一定要关好其它的入口,特别是可以把数据输入到系统中的入口,否则这个网站有可能会变为一个没有围栏的草场,到处都有人非法牧羊。

数据库(Database)就是“一大堆文件”。

一般来说,少量的配置信息放在文件中是个好选择,因为它是系统的一部分,并且不需要先安装数据库。

这是自己的,称为私有(Private),自己用起来当然是顺风顺水顺海淀。

以前叫INI,现在可以用XML,也可以用JSON,其本质上是一回事:

一个固定格式的文本文件。

XML的进步是层次更清楚,看起来更专业,文件更大,读起来更慢。

相信再过几年,人们又会发明新文件替换它,推动技术进步的永远是人们的日益增长的“物质和文化”需求。

目前,JSON是更简洁的数据表达方式。

文本文件(不需借助阅读工具直接用操作系统文本读取命令或程序能看懂的文件)只适用于少量的数据存储,这是原则。

不管机器性能如何强大,对机器来说,文本文件的存取效率总比二进制文件低,就像弟弟永远不可能比哥哥的岁数大一样,因为文本文件的内容是不用阅读工具就能让人直接看懂的,如程序的源代码、shell文件,直接用操作系统的命令type或vi就可以查看;二进制文件是必须借助计算机程序才能看懂的,如编译后的中间代码,连接后的执行代码,再比如电影、音乐。

我们可以这么理解,计算机程序自己就是二进制(Binary)的,所以它自己“看”二进制文件会更舒服流畅一些,因为“本是同根生”。

文件多了,怎么组织才能最快的找到需要的?

文件大了,内容怎么组织才能更好的读取和修改?

还有存储也是问题,规模变,问题跟着变,基本原理却不变,就是时空的乾坤颠倒,还有颠倒的效率。

这些思考,有利于分析计算机科学的方方面面。

请看下面的例子,请勿对号入座:

C:

\>type项目总结.blog

老五一怒奔幽州

没日没夜oracle

本来说好三个月

一年过后兵未收

C:

\>type三顾茅庐.rmvb

¤®©œŠšΨ♀▓◢Š

-d

0B49:

0100D0CF11E0A1B11AE1-0000000000000000................

0B49:

01100000000000000000-3E000300FEFF0900........>.......

0B49:

01200600000000000000-0000000001000000................

0B49:

01300100000000000000-0010000038000000............8...

0B49:

014001000000FEFFFFFF-0000000000000000................

C:

\>debug让子弹飞.mp3

记住了吗?

计算机是傻瓜,成也由人,败也由人。

人类本来不完美,何况人创造的计算机和软件呢?

上面的type/debug命令是不是很听话?

第二节价值

石器时代的很多决策者认识不到软件的价值,基本上还停留在“知识无用论”的层次,的确,没法抬杠,你有充分的理由说发大财和知识文凭是无关的,有人天生就是顶级商人,教育的问题我们会在本书多个章节谈到,显然这并非本书的主题。

无论如何,富国强民除了有正确的方向和方法,还是得靠劳动者实实在在的劳动去落地实现,正如能买来航母战斗群却买不来战斗力。

硬币的另一方面,认识到软件价值的老板又容易被专业人士忽悠。

你看,很多企业买软件就像买肥皂,“只买贵的,不买对的”。

其实三牛奶粉如果不掺杂质的话还是不错的,至少广告做的很吸引人,比喊三遍“牛牛牛”或恶搞传统文化的那些企业强多了。

事实上,软件的开发和维护的成本并不比一幢大楼的物业管理费少,问题出在看起来这玩意儿展现的方式只不过是屏幕上几个“软塌塌”的界面而不是硬邦邦的钢筋水泥。

软塌塌的界面是软件工程师们为了梦想中美好的生活没日没夜“编”出来的。

强调一下,老五这里说的软件工程师包括软件公司里的所有人员,对,保洁和保安也是,这奇怪吗?

电子市场旁边抱着孩子卖光盘的大嫂还说自己是搞IT的呢。

令人遗憾的是,2010年以后的几年,网盘让这些大嫂失了业。

调侃确实解决不了什么实质问题,只能让人心里暂时感觉舒畅一些,无路如何原创调侃也是一种创造,比抄书、抄论文更有意义。

在公司里调侃的原则是适当调侃身心愉悦,过度调侃会丢饭碗。

回到正题,软件开发的确充满挑战,否则就不是现在美国、日本、欧洲等发达国家和地区吃肉别国喝剩汤的状况。

真正的计算机科学只能由数学天才们去研究,然后联合软件公司去实现并推向市场才能有突破,这是理论和实践的结合,当然也是最理想的状况。

即然我们还让孩子死缠烂打的去学奥数,那说明几十年内我们无法培养出来数学大家,这实际也决定了我们的计算机科学水平,还有一个最根本、最重要的因素是社会应用的推动。

还好,目前为止我们遇到的大多数项目或产品并不是真正的计算机技术,只是计算机技术的应用,那基本上就是只有工作量,没有技术含量的活,既然如此,附加值就比较低,如果这种项目或产品利润很高和话,一定是其它的商业手段在起作用。

除非,那个系统的用户并发量足够的庞大。

市场和客户的需求最终要用技术来落实,反过来技术又必须靠市场和客户来推动。

消费者(确切的说是所有人)需要生活更惬意,商人要做的是发现市场前景和赚钱机会,数学家的任务是研究出更优化的模型,软件公司的任务是把这个模型用最低的成本实现出来并交付给用户。

价值就在这个流程(商机(模型(实现(营销(服务(反馈)中产生,各个角色各得其所,生活就这样被改变了。

软件的根本特点是“软”,正所谓“成也萧何、败也韩信”,设计良好的办公楼可以最大限度的满足入住公司的需求,铁打的楼房流水的公司嘛,成功案例如可以灵活定制大小的SOHO办公楼,这叫“灵活”;设计不好的楼房总是在搞装修,一不小心一个冒失鬼把承重墙给砸了整栋楼可能就岌岌可危,所谓的承重墙就是软件的框架。

当然,不砸就歪的楼房也有,与之相呼应,不用就能自我崩溃的软件也不在少数。

估计很多人把软件的“软”理解为软弱的“软”,因为地球人都知道软件好改,这个好改(Easytomodify),是相对于“生米做成熟饭”式的硬件不可逆。

软件工程师的很大精力都投在“让软件开发和修改变得更容易”,数十年都是这么努力并且主观成绩斐然,客观上却是现在培养一个“合格”的软件工程师仍旧非常困难,注意这里强调是合格还不是优秀,更谈不上卓越。

为什么?

市场和客户的需求在不断的提高要求,虽然画按钮这样基本的操作不用程序员去编码但是业务逻辑必须让程序员去实现。

当重复劳动一再重复时,就有人就想出了“平台”的概念,理想是拖拖拽拽(DragAndDrop)就能实现业务功能,近乎“零编码”,甚至有数学家想不写任何代码就能实现业务,这是“零编码”的理想,和当年的“无纸化办公”有异曲同工之妙。

这真是一个很棒的主意!

知道高级软件工程师都在干什么了吧,他们的目标就是让自己“失业”。

很久很久以前,久以前,久以前,有一个公司征集信息保密的技术,全公司的技术人员热情高涨、献计献策,什么独立网络,把串口封了等等安全专业人士能想到的所有策略都提了出来,后来公司果然一一照办,然后把大量技术人员扔到这个自己烧热的“瓮”里。

几年时光匆匆而过,公司其它部门的确难以窥视这新产品的真容;让人想不通的是对于竞争对手而言,研发成果似乎还是没有什么秘密可言。

哦,没有人知道漏洞出在哪里。

“瓮”,永远只能约束没时间想法子突破“瓮”的劳动者,技术不能解决所有问题,老五感觉这一点对技术人员的心理伤害特别大。

想知道这个产品的结果如何吗?

闭门造车还能有什么结果呢?

奇迹不会无缘无故的发生。

商业化成功的公司都是能够让新程序员非常容易的开发一个小程序,掩盖绝大多数的技术细节,让程序员专心于业务,以最快的速度在公司搭建的舞台上成为一个小有成就的演员,这一招叫“上贼船”。

实际上,这么多年过去了,软件开发始终还是一个技术性很强的活,为什么?

客户的要求永远在变,没有哪个平台能真正做到以不变应万变,没有数学家参与的平台寿命一定更短。

同时,编程语言不断升级,操作系统每年出新版,每个版本即使换汤不花药,这些小变化积累多了,迟早也会导致技术上的质变。

我们再换另一个角度看,写平台(搭舞台)的也是软件工程师,难道他们就不会犯错?

当然会,人非圣贤嘛。

所以我们说,上贼船(学习一个新平台)容易下来也不难,规律往往是在一个平台呆的时间越长就越难下来。

“老手”的价值就在于比新手知道更多的陷阱,他们知道如何绕道走,不幸的是,这些陷阱在未来的版本里都逐步修复了,很自然的,“老手”们知识老化或者衰减会很严重,再加上精力越来越不如年轻人,最要命的是后来他(她)们发现工资慢慢的也不如新人。

这很正常,因为老人们的价值越来越少了。

因此,需要不断的学习,不断的被“忽悠”,不断的“忽悠”别人,最主要的是你的客户,不是使用你的产品的客户,记住,你最重要的客户是你的老板,或者说决定你收入的那个人。

这是公司文化的糟粕,拿出来批判一下。

因为如果开发团队文化做到这个份上,公司不倒掉真奇怪。

公司里的聪明人会掌握一些特殊的资源,或者有特殊的手段,让公司感觉离了他(她)就玩不转,聪明的老板会努力让每一个岗位都有替代资源,这种猫和老鼠的游戏真的很好玩。

如果我们有一天放下我们手头的工作,双手抱在后脑勺上,身子向后仰,然后举目四望,看看那些还在埋头苦干的同事们,我们都会有这种感觉。

“猫和老鼠”的游戏对于软件公司至关重要,绝大多数软件公司唯一的资产就是“人”,当然还包括少量的“外星人”,老五就曾被其他部门的老大称为“研发部门的外星人”。

所有的员工,能力越强的人,离开后带来的损失越大,需要更多的时间来弥补。

老板的任务是防患于未然,把损失降到最小,聪明员工能让这个动作把损失加到最大,因为这是加薪的筹码,“笨”的员工只知道干活,一直干到工资不如年轻人高,然后或者面对现实和年轻人一起并肩作战,或者被迫去另一个职场,继续玩“猫和老鼠”的游戏。

是的,这是负面的说法,请读者注意鉴别。

为什么说这是个游戏?

人员流动是不可避免的,员工只增不减的垄断企业还每年调整一下部门领导呢,老大也可能是空降兵呢。

软件是用多少文档都讲不清,即使讲清楚了也没人看的东西,里面掺杂了太多人为的因素,所以,可以说团队中任何一个人离开都会造成损失,这是软件设计松耦合在管理上的要求。

会有人抬杠说,我们部门谁谁谁几个月没来上班也没啥影响,老天,这样的团队耦合的实在是太松了,根本起不到腰带的作用。

强人怒了会跟老板拍桌子:

不给加薪,“老子”(注意,这里不是太上老君)不干了!

牛老板会说,老大,你都上了贼船这么多年了,还会划别的船吗?

你到一个新游戏中,规则是相同的,你还得重新建立人际关系,你应该知道,我们这样的公司里靠规章制度是办不了多少事的。

强人想想有理,于是说:

那让俺再考虑考虑。

牛老板说,是要好好考虑一下!

想想你的老婆孩子和梦想的生活!

强人说,想想老婆孩子,俺应该留下继续挣工资,可是想想梦想的生活,俺想去垄断企业当老大。

 研发部的老人们说,做软件最需要的是抽象能力,这里的所谓的抽象是为了更大范围内具体,抽象就是力量,就是利润。

老五见到有很多人讨厌“抽象”这个词,觉得抽象就是那种玄而又玄,悬而未决的故事。

其实,抽象往往是非常实在的故事。

比如,要盖个烟囱,不是挖个井,要盖个办公楼,时髦的称为写字楼,这里的盖个什么东西,很具体吧,可到底要盖成什么样子,多少个平方米,那就更具体了。

就像鸟巢,大家在说“鸟巢“的时候,会想象自己见过的喜鹊窝,或鸟巢咖啡上鸟巢,有个大体的印象,见了以后才说,这就是鸟巢啊,跟俺想的很不一样,这种泛泛的叫法,或者是到分类级别的称号,就是抽象,你说玄吗?

人家问你去参观什么,你当然可以说要去参观一大堆钢铁组成的一个鸟笼子状的运动场,也可以说其实就是一杯口味单调的咖啡。

加入我们的开发团队,任务是做一个软件,做什么软件呢?

用于沟通的软件。

为什么做这个软件呢?

沟通是人类的基本需要,没人交流的话人人都会变成沉默的哲学家,网络会更加的普及,再让邮局把情书送到家恐怕是“恐龙行为”。

这个“做什么”就叫产品定义,是商机,有很多很多人可以做得到发现商机,但随着下面的事情越来越具体,越来越麻烦,能坚持到底并赢得利润的就屈指可数了。

你看,网上人和人交流,这个定义是抽象还是具体呢。

很抽象,到底怎么交流?

很具体,是人和人而不是大象和斑马。

这个定义决定了可以使用文字来交流,在internet刚普及的时候,网速慢,传输视频可能但不可行,于是文字交流就是主要手段。

那好,整个模型是怎么的呢?

如何盈利呢?

这就是接下来考虑的问题。

模型是,搞一个服务器(就是硬件贵一点,运行快一点,存储空间大一点的超级电脑),把“人”的信息存在上面,而不是存在个人电脑上,这样的好处是人可以用任何能上网的电脑和别人沟通,服务器用来当中间人,起个传话的作用,当然,还能监控客户们说啥。

你看,一台公共的服务器,无数的电脑终端,中间用网线连起来,这就是我们的模型。

现在这玩意儿很成熟,所以老五可以说的这么轻松,大家可以看得这么轻松,当初那么多人都想到了,为什么只有两三家成功了呢?

只是简单的归结为运气好是不负责任的,一个重要的成功因素是,接下来的步骤越来越麻烦,但是难度最高的还是是刚才说的商机发现和模型建立。

商机错了,接下去的动作叫烧钱,模型错了,后面的过程叫炼狱。

老五能把烟囱改成井吗?

反过来似乎容易点。

很抱歉本文闭口不谈盈利模式,如果老五是盈利模式专家的话,现在应该在家里喝茶数钱。

市场的需求(就是软件需要干什么,实现什么功能)很明确,产品模型定义来后,然后就是设计人员的工作,房子要欧洲风格还是东方风格?

用什么原料来盖这个楼呢?

全钢还是全铝?

全水泥还是用豆腐渣?

更具体一点,盖几层?

设计几个厕所?

餐厅在哪里?

老板的办公室多大?

要不要套间?

领导的套间里放什么样式的床?

要不要防火呢?

这些问题都极具挑战性。

因为,设计永远是为顾客服务,如果设计师的设计思路太超前,可能导致前期投入太大甚至因为工期太长而导致钞票花完房子却没有完工,太落后会导致刚竣工就需要改造甚至拆了重盖。

这并非危言耸听,拆了重盖的楼房不多,软件业的推翻重做的案例却如天上的星斗,哦,天哪,那些永远无法实现烂尾楼软件项目或产品!

感谢上苍,幸亏这是软件,只浪费些了电和程序员的心血、不知道谁的钱而已。

回到软件开发上,有些人搞的年头多了,好多年一直在搞一件事,就是把一座楼盖了拆,拆了盖,加固,美化(这一系列动作的专业术语是维护、重构、优化),或者一直在不断的盖新楼,逐渐悟出了一些门道,也就是诸如“办公楼这样盖会好一些”,“住宅楼那么盖会更好”,“客厅和餐厅的位置这样更合理些”,“卧室的门这样开更合理些”,这些问题总结出来,就叫设计模式(DesignPatterns)。

你看,设计模式是自然而然产生的,是从其他行业借鉴过来的,是源于生活的,只是被专业化了,实际并没有什么奥秘可言,你把它当参考书就可以了,要领悟最常用的设计模式但没绝对必要学会全部,因为大多数场景你永远都用不到。

知道多了,当场景降临时,知道照方抓药就行了,似乎这就是《伤寒论》中张仲景的模式,不管你是否信中医,那些经典的方子在超过两千年的时间里活人无算。

《伤寒论》的写作模式就是简单的病证相对,不谈玄理,夸夸奇谈的内容往往只是听着过瘾却解决不了实际问题,很显然,本书就属于后者。

因此,水平高的设计师一直是在学习,并且要跨行业学习,向时装设计师学习,向房地产设计师学习,向医生(中医、西医、伪中医)学习,向侦探学习,隔行如隔山,在抽象层面却是一样的满足客户需要。

设计师的实际工作往往只是做一个决策而已,最重要的是要对这个决策负责,这需要从管理上去保障这种责任。

现在很多公司的文化都是决策的时候抢着拍板,负责任的时候夺路狂奔,这是对“工程师精神”的严重背离。

所谓的“工程师精神”就是专业上追求卓越的同时,也容忍犯错误。

这里要强调的是对结果负责。

赚钱了发银子,赔钱了打板子,就这么简单。

谁敢说自己没犯过错误、干过蠢事?

孔圣人还把一文钱改成了十文钱骗人家的元宵吃,何况普通人呢。

此典故请参见马三立、王凤山合说的《吃元宵》。

设计模式还有一个好处是专业术语带来的好处---沟通非常简单明了。

比如设计师决定餐厅采用“天字号方案”,那图纸就很好画了。

下游的技术人员也明白“天字号方案”应该如何去落实,只把需要特别注意的地方写出来强调一下,通用之处是public,特别之处是private,中间地带是protected,这可以用面向对象的继承思想来表达。

记住,简约、实用的才是完美文档。

再比如某网上交流软件采用GGMM模式,那这个软件组成部分的大体结构就确认了

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1