提升自己深入思考的能力

mark a BrainStorm:


前几天在杨老师微信里看到一篇文章,《比勤奋更重要的,是深度思考的能力》。感慨颇多,正巧师兄给我布置了一个小任务,我在完成后以及修改时想了很多。
当初想法是根据一个用户的行为,记录一个标签的统计情况。我根本没有深入思考,就想着快点写完吧,然后就一个一个if中循环判断用户行为进行计数。代码冗长多余,师兄在看到这些代码后啼笑皆非,这显然违背了他对于代码精简原则。而且,这个用户行为之前就是一个枚举类型,所以我们可以构造一个map,遍历获得数据,然后将数据set进统计信息的对象。(这时我忘记了,枚举的遍历,所以又重复写了很多代码,显然又错了,又开始更改我的代码)。重复意味着可以精简,一段代码重复写就意味着可以写成一个方法调用。根据师兄的原则是,一个方法不可以超过30行,否则就是还可以提炼方法
其中在构造函数中调用了特别多相同类型的参数,这个是一个很难发现的bug,一旦参数匹配错误,编译器不会提示错误,我们很难发现错误。这种情况下,我们会构造一个空对象,将对象的字段一个一个set进去
所谓自己的坑,真的还得自己去填,我又开始修改我的代码。显然的显然,最后师兄还得亲自再改改。
一个优秀的Coder,真的是以一敌百,或许优秀与平庸之间就是差了一万个这样的细节。

优秀代码与槽糕代码,写得真棒!

1.代码填写的位置是根据该代码实现功能布置的,并不是根据页面放置的。
2.和controller直接打交道的是service层,而从用户角度考虑,用户只会给你一个id,所以写service方法的时候,传进的参数一般是id,到了api层,或许会封装一个对象作为参数,并进行是否为空的判断。
3.引用类型是否为空的判断很重要,如果没有进行判断,在启用服务的时候就会崩溃。
4.从数据库中批量获取是有原因的,为了快速从数据库从提取一组数据,而不是一个一个从数据库中提取数据。从一开始的开发,我就没有明确这个事情。我实现批量就是重复一个一个从数据库中取的过程,这是错误的。因为以前为论文写代码时,我也是这样,只要能完成目的就行,代码不优化,不想效率,代码格式也是乱七八糟,没有太多注释,更别提给别人看明白,或者是一段时间后自己维护修改。简单得说就是没法维护,想的不多,没有想过以后会有怎样的情况。如果把这些情况一开始就逻辑清晰,考虑清楚,写代码的时候就想到以后可能出现的情况,会为自己减少很多麻烦。但是真实项目中是不同的,也许你写的代码和师兄的代码实现的功能是一样的,但是你写的代码耗费更多的时间,内存,所以你当然out。
5.以前写的代码太少了,现在想想看看简直就是一坨翔,屎的不能再屎。
6.逻辑清晰,bug少,相同时间内完成工作多且质量优,人人都爱你,当然你工资就高。
现在想想自己当初保研的目的确实是贪图享乐的生活,最重要的是自己从上大学开始目标就不明确。既然读了计算机专业,为什么没从一开始就认清楚以后会成为一名码农呢。我浪费了大量的青春时间,到现在还得一点一点还债。甚至到现在我还没有认清楚自己。或许自己不适合开发,但是至少我能在一个一个功能开发中收获乐趣,这就够了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值