从零开始Coding与复制粘贴的区别

作为一名程序猿,我用不同的语言写过很多代码,从最初的照葫芦画瓢,到复制粘贴改,再到系统重构和优化,以及从零开始设计和实现一些东西,产生的些许想法,现在记录在此。

(1)有必要重复造轮子吗?
作为最喜欢偷懒的一类人,程序猿喜欢拿来主义,所谓拿来主义就是把别人已经实现过而我们恰好需要的代码搬来变成我们的薪酬,这是一件很开心的事,用最少的时间最低的成本产生价值。
这么干的弊端就是,一旦出现问题,可能就不知道怎么解决了,特别是对于菜鸟,有点基础知识,对别人的代码一知半解,解决问题的时刻嗨森,出现问题的时候极大可能性是呼吸急促、肾上腺飙升,只能低头哈腰去向身边的老鸟求助,看着老鸟不赖烦的帮你三下五除二搞定这个问题,自己依然一脸懵逼,直呼大神。
由此可见,拿来主义虽然一时爽,但是不能一直爽,没有造过轮子,就不知其所以然,适当的通过重复造轮子来提高自己的认知能力、理解能力是很有必要的。
(2)写好的代码需要重构吗?
很多程序猿写完功能性代码之后,会对自己的工作很满意,因为能够通过单元测试,按照预期正常工作。是的,的确很棒,无论是自己通过思考亦或者通过复制粘贴的方式来完成工作的,都能产生完成任务的成就感,因为在解决实际问题,为公司和客户产生了价值。无论自己写的代码多么乱且多么烂,它就是能够正常工作,而且别人看不懂,就问你牛不牛?
没有养成代码重构习惯的人,往往会有这种经历,面对一堆烂代码,大声疾呼:“这是那个傻逼写的,怎么这么……”读完之后才发现,原来自己就是那个傻逼。
养成即时重构的习惯是很有必要的,从命名、抽象、圈复杂度到易用性、安全性、可维护性,多思考一些,会极大降低未来的维护成本,一个系统的最终淘汰,很有可能是因为其维护成本太高导致的。反复重构自己的代码,能够在让自己舒服的同时也让别人失去骂你傻逼的机会。
(3)用户的需求是真实的吗?
在开发者眼里,能够快速实现用户的需求就是其根本价值。但是无法避免的事实却是,面对随时在变化的客户需求头痛不已。用户提出的需求,今天是这样的,明天可能就是那样,然后后天又让你改回来。天天如此,再有耐心的人也会在内心产生一万只羊驼在狂奔的壮丽景象。
如何才能判断用户的真实需求到底是怎样的呢?第一,沟通,最好是面对面的沟通。打电话、发邮件行不行?当然是可以的,但是都不如面对面的沟通来的爽快。第二,找准沟通的对象。沟通需求的时候,最好去寻找现有的用户或者是未来的用户,而不仅仅是他的领导,因为只有最真实的用户才能知道最真实的需求。对方经理可能告诉你只需要一部能上网的诺基亚,但是真实的需求可能是一台iPad。
提前准备好要问的问题,并提供多个选项供用户选择,最终多次确认自己对需求的理解,再动手去实现这些需求,或许就会发现原来用户也不是那么喜欢修改需求。

聊着聊着似乎有点跑题了,时间也不早了,明早八点还要送孩子去上课,那就日后再叙吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值