最近做了一次有关如何做产品以及培养产品思维、产品Sense的培训,首先看下产品的定义:能够发布到市场,能够满足市场或某些人、某些场景的需要,我们都可认为是一个产品,产品可以是任何东西,一个杯子、一个软件系统、一个人都可以是产品,只要它满足了某些需要。因此,程序员开发一个程序,写一段代码其实也是一个产品,需要写出优雅的代码、易用性高的代码、可维护性高的、健壮性高的代码,这些都是与产品的要求是一致的。
成都创新互联:从2013年开始为各行业开拓出企业自己的“网站建设”服务,为超过千家公司企业提供了专业的成都网站制作、做网站、外贸营销网站建设、网页设计和网站推广服务, 按需网站策划由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。
下面我们采用建设产品的思路来理解如何优雅的开发代码,也回想下产品的用户需求$Appeals方法。
一、明确用户:产品首先要明确产品的用户或者使用者是谁,程序员开发的一个程序,它的用户可能是我们公司的外部客户,或者是公司的其他部门;对外提供的一个接口、一个方法,它的用户可能是其他的相关系统,可能是坐在你身旁的另一个程序员。那么用户不同,用户的特性、特点不同、性格不同、习惯不同,程序员要清晰的知道自己的用户以及用户的特点。
二、产品定位:产品要有自身的产品定位,我们开发的可能是一个底层基础平台、一个CBB、一个服务,那么他们的产品定位简单来说就是为应用系统提供基础组件、基础服务的,是能够让应用系统更快、更简单的进行开发的。
三、提升产品的竞争性:我们说用户的特点是懒的、多变的、可怕的、不愿思考的,因此程序员开发出来的代码,提供的服务也要解决用户这些特性,这样你的程序才会有人愿意使用,也更是体现你自己的竞争力。
1、P包装:给你的程序、类、目录、文件等起一个漂亮的名字
2、E易用:
1)简洁、易懂,如类名、方法名,应该尽量简洁,不要搞个几十个字符来表达(毕竟用户是懒的),并能让你的用户轻松的理解他的含义,不需要去思考,不需要来问你是什么意思;
2) 无二义性:正确的命名,通过名称能完整、正确的表达你提供的服务功能,不要有二义性,如HTTP协议就提供了简单的Put、Get方法,字面意思非常清晰;
3)正确的注释,注释的内容要与方法或类提供的服务一致,不能产生二义性或者被误解,否则莫不如不写;
3、A安全/质量:提供安全、稳定的代码,并能准确的记录相应的日志,方便定位问题,响应用户的投诉、问题的解决;
4、A可获得性:将所有对外提供的服务和内部使用的服务分离,只暴露对外服务接口,将对外接口统一封装在API包中,让用户可以很容易的获得他们需要的服务;
5、L生命周期成本:程序的健壮性、性能、技术的前瞻性等都决定了你的程序能够使用多久而不被新的技术、新的组件所淘汰;另外,对外提供的平台、组件、服务,后期都是需要你来维护的,因此需要考虑、设计如何方便你来维护这些代码,如代码的简洁、逻辑清晰、完整的log记录等。
6、S社会接受程度:你的代码能被其他系统和其他开发员接受吗?还是被说成一塌糊涂?相信很多程序员都曾经骂过他们的前任程序员,如何将一堆垃圾代码留给你维护的。
四、产品规划:不同的阶段、不同的现实环境,实现不同的需求,需求需要排序。那么写程序也是如此,在初期,应该先把整体框架搭建出来,包括响应的模块包、包路径、包结构、类名、接口名、接口方法名等,可以使用Eclipse工具直接开发,也可以使用PowerDesign、UML等代码设计工具进行设计。这相当于快速做产品的原型,让用户知道你的产品,并能快速反馈是否满足需求,
五、产品开发:在产品框架搭建完成后再做具体的接口实现类、具体的方法实现,相当于产品的开发阶段。不同模块分工协作,并行开发,提升开发速度。
OK,写代码还是那么枯燥吗?不,写代码可以很优雅,当做艺术来设计,像开发产品一样开发出一件伟大的作品。如何提升写代码的乐趣,如何提升写代码的能力,这要看你如何思考。把你的代码当成产品、当成项目来看待吧,就像谈恋爱也是一个项目一样。
--------------------- 本文来自 ice_fire2008 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/ice_fire2008/article/details/82926029?utm_source=copy