信息化
- 通讯录管理
- 文件同步
- 办公软件
- 局域网搭建
- 计算机辅助设计CAD
- 邮件服务器
- VPN/PPTP项目
- pos系统(销售点)
- 数据取证软件
- 任务/项目管理
- 电子政务
- OA办公/协作平台
- MySQL衍生版
- 企业ERP
- 版本控制系统
- 文档管理
- SIP项目
- 监控软件
- 数据保护
- 教育教学
- CRM
- 管理软件
- 其他软件
- 教学科研相关
- FTP服务器
- DNS服务器
- 基础软件
- 地理信息系统GIS
- 代理服务器软件
- 系统网络
- 软件开发
- 安全保密
- JMS/消息中间件
- 电子电路设计软件
- 网站建设
- 金融、财务系统
- 行业专用
- 400电话
- BI商业智能
- 数据库驱动程序
- 数据库服务器
- 操作系统工具
- 目录服务LDAP
- HTTP服务器
- 数据库建模
- 网络推广
- DHCP软件
- 虚拟机
- 流媒体服务器
- 企业搜索引擎
- 电话/通讯/IM聊天
- XMPP即时通讯
- 信息化
信息化
干货传递:软件开发的四个基本要素

在走着不断发出尖叫的海军陆战队训练教官、观看海军飞行员撞上钢制甲板以及一直担心因“胜利锦旗”而被责骂的过程中,我学到了一些关于编写优秀代码的宝贵经验。
1987年秋,我被任命为海军少尉。这份任命来源于我在航空军官候补学校(AOCS)接受美国海军陆战队枪炮军士伯恩哈德·琼斯(Bernhard Jones)为期14周的密集的个人指导。在之后的五年里,我在FA-18中队担任航空情报官,负责训练海军飞行员,并且向他们讲解他们在执行任务时可能要面临的威胁。
那些年的经历很大程度上塑造了今天的我,而我在海军服役期间学到的很多经验也延续到了我作为软件开发工程师和开发经理的职业生涯中。
以下是其中最有意义的四条经验。
首先,俯卧撑是位良师益友。当你在下降时大喊“注意细节!”,在上升时大喊“团队合作!”
这个时候,你很快就会成为它们的忠实信徒。此时鞋子的光泽度稍有瑕疵,或者一根线头松了——这些都是因为没注意自己或同学的制服——都会招来“捂脸!”的口令,让我们趴在地上继续做俯卧撑。
在航空作战领域,关注细节特别重要。即使是最细微、看似微不足道的细节,也能决定任务的成败。
虽然大多数软件开发并非事关生死,但注重细节对于成功至关重要。编码时,如果关注所有细节——正确的命名、良好的格式、确保涵盖所有极端情况——那么代码将更更易于维护,错误也会更少。今天关注细节,明天就能减少很多的麻烦。
练习俯卧撑的另一大秘诀是团队合作。
军人们很少单独行动。飞机飞行几乎至少是两人一组飞行,而且大多数飞机都有多名机组人员。让一架飞机从航空母舰甲板上起飞需要许多人高度协调的配合。几乎每一步都需要与他人合作才能完成目标。
在软件开发中,一些开发人员独自开发产品,通常是为自己开发。然而,大多数开发人员都是团队的一员,而团队合作对于任何项目的成功都至关重要。无论是结对编程、在 Slack 上解答问题、进行代码审查还是提供培训,软件开发人员都必须与他人合作,才能将项目交付给客户。
在海军航空兵中,沟通至关重要。无线电通话本身就是一门技能。由于无线电通信极其不稳定,因此有精确的方法确保信息传递和确认。在飞机内部,谁控制飞机这个简单的概念需要非常清晰地传达。
例如“我来控制飞机”这句话要清晰、坚定地传达出去。
在飞行甲板上,噪音震耳欲聋,因此所有通信都必须通过信号和其他方式进行。沟通不畅很容易迅速导致致命事故。没有任何容错的余地。
再说一次,软件开发通常不会造成致命事故,但清晰的沟通却仍然决定着项目的成败。良好的沟通对于成功的团队合作非常地重要。它意味着良好的写作能力(例如在邮件、聊天、问题、文档等方面),良好的与他人相处能力(包括难以相处的人),甚至编写优秀的代码。
我认为编码是一种被低估的沟通方式。我甚至想说,它是开发者沟通最重要的方式。代码不仅是与编译器沟通,还与所有未来维护该代码的开发者沟通。确保自己能够清晰地向一个你可能永远不会见面的人表达自己的想法,这听起来可能有点奇怪,但这正是编写优秀代码的关键所在。
标准操作程序
所有海军飞行员都必须严格遵守《海军航空训练与操作程序标准化》(NATOPS)手册,该手册概述了可接受、正确且经过验证的飞机操作方法。飞行员必须对其飞机的《NATOPS》手册了如指掌。该手册被人们称之为“血书”,因为其中的许多程序都是在坠机事故中制定的。
在软件开发领域,我们也拥有很多的“最佳实践”。值得庆幸的是,我们的手册是写在项目事后总结中,而不是实际的实践中。正确的做事方法便是通过错误做法的经验来学习的。一个优秀的开发团队会遵循一套规则——包括代码格式化、代码审查、对象库构建等等——这些规则都是行之有效的成功之道。
汲取的经验教训将成为未来产品运营的蓝图。
海军航空兵的每次飞行都要遵循一套严格的程序:简报会中将讨论飞行中可能发生的所有情况;起飞前要绕飞机走一圈,确保飞机处于良好的工作状态;飞行本身也按照简报进行;最后,对飞行过程中发生的所有情况进行详尽的汇报。
任何做过计划会议、代码审查和任务回顾的软件开发团队想必都不会对这种程序感到陌生。

上一篇文章:
软件开发避坑指南:5个让你少走弯路的实用技巧
下一篇文章:
软件开发如何独挡一面?























































