关于程序设计的思考

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于程序设计的思考相关的知识,希望对你有一定的参考价值。

 场景(本场景纯属虚构):国家推出福利,让每个有小孩的家庭都可以申领补贴。需要申领补贴的人,需要在S系统里面填写表单,填好小孩的资料,然后提交申请。有关人员将在S系统进行审批,走完流程之后方可发送补贴。按照目前的政策,每个家庭只能为1个小孩申请补贴。基于这项福利,我需要在S系统添加相应功能。

       这种场景比较典型。我现在就把目光聚焦在“每个家庭只能为1个小孩申请补贴”这一点上。我可能会在下面两种方案中选择一种:        (1)既然每个家庭只能为1个小孩申请补贴,那么,我只考虑“1个表单只包含一个小孩信息”这种情形,而不考虑“1个表单里面可能包含多个小孩信息”这种情形。        (2)考虑到将来国家政策可能改变,我在设计时,直接就按照“1个表单里面最多能有N个小孩信息”这种情形设计(把N看成参数,而不会把N假设成1)。然后我再为N这个参数传入常量1。
        很明显,(2)方案更灵活,更容易适应需求。但是与(1)方案相比,(2)方案比较复杂,真正实现时会耗费较多的人力物力。假如最后国家一直不改变政策,那么,我岂不是白白耗费成本?————有时候,国家的确变更了政策,但是变更的方式并非想象中的“允许为多个小孩申请补贴”,而是直接取消这项补贴福利,那么,我为了“灵活”而作的考虑,就成为笑谈了。        另一方面,(1)方案虽然比较简单,但假如国家真的改变了政策,允许一个家庭为多个小孩申请补贴,那么,变更所带来的工作量,会比较可观。从项目管理角度看,如果需求变更引起了工作量,我可以对客户多收钱。但假如客户有一点技术功底,知道工作量与“不灵活的设计”有关,那么,要说服客户多付钱,还真有难度。

以上是关于关于程序设计的思考的主要内容,如果未能解决你的问题,请参考以下文章

关于提升python程序效率的一些思考

《C程序设计语言》关于单词计数的思考

关于邮件发送公共程序的思考.

关于程序员的几点思考

程序员职业生涯系列:关于技术能力的思考与总结

关于Python语言程序设计基础课程的思考