工作,不仅仅是完成任务

虽然从事软件开发很多年,但是从未认认真真的思考过软件功能开发应该怎么去着手做,往往都是需求来了,仅仅去实现“它”。

从工作角度来说,有什么需求做什么“需求”,以“最终需求结果”为目标原型来做,实现一个和“最终需求结果”近似或一样的目标,这是完全正确的。

但是从软件开发层面来说,仅仅是完成任务是远远不够的。

在坚持软件设计的基本原则(可靠性、健壮性、易于扩展性、安全性等等)的前提下,如果能引用更适合的设计模式来解决问题,那么请使用更好的设计模式。

功能开发其实和做事一样,要想功能做的好用,思考必须全面,各种输入情况都要考虑在内,虽然不同体量的软件的开发采用的标准在严格程度不一样。

比如商业软件一般会采用“防御式”编程(对于外部提供的函数参数采用不信任策略,必须校
验参数的类型与值是否合乎要求),这样就会拦截异常的请求,把引起的panic问题扼杀在
函数入口部分;大部分的内部软件开发一般只是约定好接口参数名称,对于接收到的值,
可能会做一下类型转换,增强一下“健壮性”(要注意:类型转换在部分情况下是有损
失,如果是字母转数字,可能是致命的),如果不转换,那么数据可能就会引起panic了。

在软件功能开发中,个人的开发习惯就像是班级中的学生基础素质一样,决定了班级的整体学生水平,进而影响到团队开发软件的基础水平。

另一个就是看你脑子灵光不啦,做软件的大约一半的人脑子不是那么“聪明”(聪明人都去做投资赚钱了,早就实现了财务自由,哪还写什么代码)。我们要死背设计模式(二十三种设计模式,是先驱工程师们留给我们的瑰宝,待我回头编个歌谣,背记起来更方便),然后在适当的情况运用适合的模式及模式组合,提高软件开发的抽象层次,提升自己的抽象能力,锻炼自己的架构能力,增强自己的见识。

拷贝粘贴一把梭,对于能力的提高是没什么用的,唯手熟尔,当然对于吃喝来说应该是绰绰有余了。

最后一点,软件抽象分层固然很好,但是最好还是保留每个抽象层对开发人员的可见性,尽量不要写黑匣子,身为开发人员,要管控好你写的代码,所有层的数据对你可见,这样调试起来,得心应手,不要把自己堵在核心代码外边。当然如果抽象的层够简单、够强壮,够安全,你就可以无视这一点,不给自己留这一层的后门,黑匣子也不是不可以。

总结一下,工作还是需要点技巧的,保持优良代码风格的的同时,要发挥自己的想象力,展现自己的“才华”,才能获得成长,走的更远。

2019-09-27

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值