第三十三章-大饼不好啃(1/2)
如果这个大客户对v提供的虚拟机软件系统满意的话,这家公司不仅会将v的技术🄴🁵应用在自己的实验室提高员工的工作效率,将来还会用来武装他们的主机群,为他们的客户提供更便捷的宿主机服务,这样能在成本上为这家公司省下不少,这是一桩双赢的买卖。
如果买卖🃡成功的话,v公⚿🗈司的发展不仅能跟这个大客户的业务发展绑定在一起,还可以吸引更多的相似客户采用他们的服务,更可以以🐡🁛此为依据来吸引更多的风险投资公司来投资,当然,如果他们拿不下这个大客户,这美好的前景将变为泡影。
所以此次的冲刺可以说🛡是要决定公司的生死存亡了,所有的员工都全力以赴。🛗🜤
他们的冲刺比一般的大公司要卖命。
这取决于两者的巨大区别。
大公司之所以大,是有很多产品支撑起来的,但是已有产品也限制了大📔公司的行为,他们需要一大堆🌩🁱的规章制度来保障已有产品的延续性和高质量,否则一个致命错误就会导致无法挽回的损失。
基于这样的考虑,所有的大型软件公司都有一套完整的标准来约束大家的编程行为,这样的标准虽然拉低了天才员工的天马行空,增加了一般员工💼🗍🚘的工作负担,对一些能👌力低下的员工来说还增加了不小的工作压力,但它的好处也有很多。
首先它能避免程序看不懂的问题,稍微复杂一些的语句几乎每句话都得有注解,以便别人看🈱🂆🌦得懂。还有☙维护成本的降低,看得懂才容易维护,试想一段大家都看不懂的程序,谁敢动?万一出错了算是谁的锅?
所以大公司在做一个软件产品的时候,跟所有其他的生产商一样,需要进♡行调研、客户需🈩🀽求问卷调查、收集旧版本使用情况反馈,进行可行性分析。
之后是写计划书,一旦定下来要做这个产品,就需要产品经理们根据客户的要求和反馈或者自己拍脑门臆想出来的使用例子,写出具体的外观设计,以及各控制部件需要完成的功能。
这个计划书被开会讨论通过🎡💦🔇以后,资深构架师为此写出构架报告,需要用什么样的已存在的底层技术来支撑,还需要开发什么样的新底层技术,各个功能如何分层次处理,大模块如何划分,各组需要🗚实现哪些功能,各组需要达到的性能有什么要求等。
各个小组再就这个进行讨论、协商,🜻还需要商讨出各层接口是什么样的,容错功能该由哪一级负责等等职责划分,一般这个过程需要数月时间,之后才开始进行具体的设计。
这时候轮到🗓各小组的资深程序员为自己小组负责的🗷模块进行具体的算法📔设计,如果是新的算法,还需要跟公司的专利律师们一起起草专利申请书。
一旦🐦🂃🌅这些都经过了讨⛖🚙论通过,才轮到程序员们去写程序。🔷🅒🅽
写程序的时候,也是有很多格式需要遵守,以便其他人,正常的源程序,往往是注解比真正的语句行数都多。🞢
一个模块开头不仅要简要描述模块的功能,还要介绍输入参数的类别、意义,输🙰🎅🎫出参数的🈩🀽类别和😜🂎意义。
在模块内部,每一小段都要描述一下这一小段是要干什么事儿,需要注意些什么,都是前🈩🀽人种树后人乘凉的要求,对公司的长远发😢展比较有利。
这样做也不是没有坏处,第🎡💦🔇一,增加了不少成本,第二,程序语句为了易读性,不是特🕟别高效。很多程序的优化需要尽量减少语句的延展,比如一句古文翻译成现代语,可能要好几💦句来解释,而古文简洁明了效率高,但并不是每个员工都能读懂。
所以那些大公司代码的优化,都是由各个👸🍪小组里的几个资深程序员共同完成,一个人负责编程,另几个☙人负责审核,当然⛚🚺加上足够的注解,这样下一次优化或者出问题的时候,能保证有资深程序员能理解和调整有能力来做这样的事情。
穆林之所以被老板🍱🞑看重,这跟他的经历有很大的关系,他当年上大学时跟袁媛负责过扫描仪驱动程序的开发,当时条件限制,硬件设备的驱动程序都是用汇编语言来编写,这就相当于华语作文需⚷要用古文。
对一般的人来说,能看🛡懂⚿🗈古文就不错了,还需要用它来写文章?那简直是不可能的任务。
穆林后来在休利帕也是写⚿🗈驱动程序的,所以对汇编程序特别熟悉。🆋🍽
一个人经过更严格训练的人,现在负责用非常简单的“现代”语言写成的程序,很容易发现🈱🂆🌦冗长不高效的语句,也很容易把它们改成更高效的。
如果买卖🃡成功的话,v公⚿🗈司的发展不仅能跟这个大客户的业务发展绑定在一起,还可以吸引更多的相似客户采用他们的服务,更可以以🐡🁛此为依据来吸引更多的风险投资公司来投资,当然,如果他们拿不下这个大客户,这美好的前景将变为泡影。
所以此次的冲刺可以说🛡是要决定公司的生死存亡了,所有的员工都全力以赴。🛗🜤
他们的冲刺比一般的大公司要卖命。
这取决于两者的巨大区别。
大公司之所以大,是有很多产品支撑起来的,但是已有产品也限制了大📔公司的行为,他们需要一大堆🌩🁱的规章制度来保障已有产品的延续性和高质量,否则一个致命错误就会导致无法挽回的损失。
基于这样的考虑,所有的大型软件公司都有一套完整的标准来约束大家的编程行为,这样的标准虽然拉低了天才员工的天马行空,增加了一般员工💼🗍🚘的工作负担,对一些能👌力低下的员工来说还增加了不小的工作压力,但它的好处也有很多。
首先它能避免程序看不懂的问题,稍微复杂一些的语句几乎每句话都得有注解,以便别人看🈱🂆🌦得懂。还有☙维护成本的降低,看得懂才容易维护,试想一段大家都看不懂的程序,谁敢动?万一出错了算是谁的锅?
所以大公司在做一个软件产品的时候,跟所有其他的生产商一样,需要进♡行调研、客户需🈩🀽求问卷调查、收集旧版本使用情况反馈,进行可行性分析。
之后是写计划书,一旦定下来要做这个产品,就需要产品经理们根据客户的要求和反馈或者自己拍脑门臆想出来的使用例子,写出具体的外观设计,以及各控制部件需要完成的功能。
这个计划书被开会讨论通过🎡💦🔇以后,资深构架师为此写出构架报告,需要用什么样的已存在的底层技术来支撑,还需要开发什么样的新底层技术,各个功能如何分层次处理,大模块如何划分,各组需要🗚实现哪些功能,各组需要达到的性能有什么要求等。
各个小组再就这个进行讨论、协商,🜻还需要商讨出各层接口是什么样的,容错功能该由哪一级负责等等职责划分,一般这个过程需要数月时间,之后才开始进行具体的设计。
这时候轮到🗓各小组的资深程序员为自己小组负责的🗷模块进行具体的算法📔设计,如果是新的算法,还需要跟公司的专利律师们一起起草专利申请书。
一旦🐦🂃🌅这些都经过了讨⛖🚙论通过,才轮到程序员们去写程序。🔷🅒🅽
写程序的时候,也是有很多格式需要遵守,以便其他人,正常的源程序,往往是注解比真正的语句行数都多。🞢
一个模块开头不仅要简要描述模块的功能,还要介绍输入参数的类别、意义,输🙰🎅🎫出参数的🈩🀽类别和😜🂎意义。
在模块内部,每一小段都要描述一下这一小段是要干什么事儿,需要注意些什么,都是前🈩🀽人种树后人乘凉的要求,对公司的长远发😢展比较有利。
这样做也不是没有坏处,第🎡💦🔇一,增加了不少成本,第二,程序语句为了易读性,不是特🕟别高效。很多程序的优化需要尽量减少语句的延展,比如一句古文翻译成现代语,可能要好几💦句来解释,而古文简洁明了效率高,但并不是每个员工都能读懂。
所以那些大公司代码的优化,都是由各个👸🍪小组里的几个资深程序员共同完成,一个人负责编程,另几个☙人负责审核,当然⛚🚺加上足够的注解,这样下一次优化或者出问题的时候,能保证有资深程序员能理解和调整有能力来做这样的事情。
穆林之所以被老板🍱🞑看重,这跟他的经历有很大的关系,他当年上大学时跟袁媛负责过扫描仪驱动程序的开发,当时条件限制,硬件设备的驱动程序都是用汇编语言来编写,这就相当于华语作文需⚷要用古文。
对一般的人来说,能看🛡懂⚿🗈古文就不错了,还需要用它来写文章?那简直是不可能的任务。
穆林后来在休利帕也是写⚿🗈驱动程序的,所以对汇编程序特别熟悉。🆋🍽
一个人经过更严格训练的人,现在负责用非常简单的“现代”语言写成的程序,很容易发现🈱🂆🌦冗长不高效的语句,也很容易把它们改成更高效的。