当前位置: 首页 > 科技观察

你要知道,软件开发的5大核心原则

时间:2023-03-13 11:27:18 科技观察

作为一名程序员,你有没有想过“什么是软件”这个简单的问题?你可以闭上眼睛让自己想一想,如果觉得有点抽象难回答的话,看看我的回答。软件=程序+数据+文档+(服务)程序=数据结构+算法看完这两个直观的公式,是不是有一种恍然大悟的感觉,“原来是这样啊”。再来看看四个“软件”虽然定义比较枯燥,但概念很到位:软件是能够完成预定功能,达到预期性能,可以执行的计算机指令;软件是一种数据结构,允许程序处理适当的信息;软件说明程序的操作和使用说明文件;软件是一个逻辑实体,是知识产品的集合,是对物理世界的抽象,同时也是人脑智能的结果。在很多自以为是的甲方眼里,软件很便宜,可以随意复制,所以他们经常会提出一些苛刻的要求,有的甚至让软件开发者看得目瞪口呆:“这个要求很简单,你在网上找就可以了。”互联网。现成的,改一下就行了,用不了多久,一个月就能搞定吧?每次听到类似的话,我的心里就会有万匹草泥马奔腾而过。软件开发不是一件容易的事,需要经历以下几个基本流程:1)软件规划,确定产品定位和目标用户。这一步2)软件需求分析:根据甲方要求,分析甲方需要的产品功能,此步骤需要项目负责人(或产品经理)与甲方进行沟通。3)根据需求设计:包括概要设计和详细设计。这一步需要由项目负责人(或产品经理)完成,并且必须与开发人员进行适当的沟通。4)代码和运行。这一步需要由项目负责人完成。5)测试:确认甲方需求,验证设计和结果。开发人员需要进行单元测试和集成测试,如果有专业的测试团队,需要测试o从甲方和用户的角度来看,verall产品符合要求,满足性能要求。6)维护:确保软件能够在正式环境中运行,并修正一些缺陷(bug),或改进功能,或提高性能,不断迭代软件版本。看,软件开发的过程并没有甲方想象的那么简单。如果有朋友遇到不讲理的甲方,就把这篇文章扔给他好好看看。由于软件开发的过程是艰巨的,需要时间和精力,所以有必要遵循一些原则,否则开发成本会变得非常昂贵,开发周期也会被拖延很长时间。原则一:不要重复自己。直译是“Don'trepeatyourself”,还有一个大家耳熟能详的版本,“Don'trepeatthewheel”。初入软件开发领域后,一定要注意总结自己写的一些解决方案,定期整理,写一些文档,不断重构,使之成为一把瑞士军刀。如果可能,将它们开源以服务于更多的开发者。有了自己的工具库后,下次遇到类似需求时,可以直接使用,节省大量时间。另外,还要善于使用业界已经开源的成熟技术方案,比如下面的。GitHub和码云是两个宝地。如果你觉得自己的能力不够自己造轮子,那你一定要去这两个网站。有很多成熟的解决方案供您免费使用。比如你要一个商城系统,那么可以直接拿marcozheng的商城作为原型。比如你要一个人事管理系统,那么可以直接拿江南一点鱼的vhr作为原型。(虽然推荐过很多次,但是好朋友再推荐一次也不过分。)原则二:Keepitsimplestupid。著名的KISS原则,即“KeepSimple,StayStupid”,类似于史蒂夫乔布斯的名言“保持饥饿,保持愚蠢”。这一原则也可以体现在苹果产品的设计上。最初的手机,比如诺基亚智能手机,有很多物理按键,而苹果只有一个home键,其他虚拟按键全部取而代之,彻底革新了诺基亚。在设计软件的过程中,一定不要想的太复杂,越简单越好,形成之后再丰富效果,否则开发成本会变得非常昂贵,软件可能胎死腹中。原则三:你不会需要它。这条规则用英语直译为“你不需要它”,它指出程序员不应该添加功能,除非有必要。ExtremeProgramming的联合创始人RonJeffries曾经说过:“总是在你真正需要它们的时候实施它们,而不是在你预见到它们需要它们的时候。“项目负责人(产品经理)应该坚守这个原则,在产品设计过程中,千万不要过度拆解用户的需求,加入太多他认为应该加入的功能,因为在使用一个软件的过程中,往往80%的请求花在了20%的功能上,可能需要很多次要的功能,因为它们的存在让软件锦上添花,但是没有它们,软件的商业价值依然存在。功能越少,时间越短developmentcycleShort,soitismorelikelytobeatcompetitiveproducts.Principle4:Doneisbetterthanperfect.Doneisbetterthanperfectbecauseperfectisneverdone.一句很简单的英文,你看懂了吗?总想着把所有的功能都做完,完善再上线,产品有了一定的原型之后,就应该马上上线试错,然后再考虑是不是要增加一些其他的功能或者优化基础d关于用户反馈和市场需求。“没有人是完美的,金”没有什么是纯粹的,有些瑕疵是应该被允许存在的,刻意追求完美未必是好事。乔布斯想要一整块屏幕,但当时技术达不到,他还会留一个home键,我们程序员在开发软件的时候也应该遵循这个原则,先做功能,至于效果和用户体验,你应该放在后面,不要总是想着完美,完美意味着永远不会完成——没有最好,只有更好。原则5:选择最合适的东西。选择最合适的,不要盲目追求时尚。技术日新月异,你应接不暇。如果你在开发软件的时候一味的追求最前沿的技术,产品可能会变成小白鼠。就像我们在谈恋爱的时候,不要一味的追求高不可攀。往往是那些在我们身边,愿意陪伴的人我们是最好的。选择技术时,它是好的。如果产品的目标用户不到1000人,就没必要搞分布式和大数据了,否则就有点“蛇吞象”了。真正到了搞分布式、搞大数据的时候,完全来不及升级。最后,希望小伙伴们在软件开发的过程中能够遵循这5条原则。本文转载自微信公众号“沉默之王二”,可通过以下二维码关注。转载本文请联系沉默王二公众号。