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. 为什么说独立思考能力很重要?如何提升独立思考的能力?

    为什么说独立思考能力很重要?如何提升独立思考的能力? 00 导读 01 自我认识 02 知识储备 03 批判性思维 04 小结 00 导读 独立思考是一种重要的能力,它可以帮助我们更好地理解世界,做出 ...

  2. 如何提升深度思考的能力

    做数据的同学最怕被人说:太肤浅了!你要做深入一些.可如何提升深度思考的能力呢?其实,我们每天都在做大量思考,只要对生活中事情稍加利用,就可以获得大量的锻炼.今天我们系统讲解一下.直接讲如何深度太过抽象 ...

  3. 【模块三:职业成长】37|能力维度二:如何提升解决横向问题的能力?

    你好, 我是郭东白.我们上节课讲了,程序员的结构化设计能力是向架构师过渡的重要基础.假设你现在已经拥有了这项基础能力,想开启自己的架构师职业生涯新篇章,那么该从开始呢? 这节课我们就来讨论一下这个话题 ...

  4. 深度思考的能力,决定了你能走多远

    深度思考的能力,决定了你能走多远   陕西西安火车站的一名90后售票员李聪,能够把全国铁路接算站示意图上的几百个站名,熟记于心. 凭借着这身本事,李聪1年为乘客推荐了近2万次的换乘方案,也因此被誉为西 ...

  5. 火车在提速,生活在加速,快节奏的生活让人们逐渐失去了驻足思考的能力,人们好像已经习惯抱团去做某一件事情,完全不顾这件事情到底适合不适合自己,我在想他们总...

    火车在提速,生活在加速,快节奏的生活让人们逐渐失去了驻足思考的能力,人们好像已经习惯抱团去做某一件事情,完全不顾这件事情到底适合不适合自己,我在想他们总是疲于忙碌的奔波,工作,生活,到底走过多少路口, ...

  6. 事件分发机制怎么回答,不断提升自己创造溢价的能力,附带学习经验

    基本情况 先说一下个人基本情况,计算机科学与技术专业.主要学的Android开发,所以投的岗位都是Android开发工程师.投了知乎,内推了阿里蘑菇街腾讯百度网易.腾讯百度都没有收到面试,知乎Skyp ...

  7. 合力提升技术管网治网能力,共同为长三角的数字化发展贡献网信力量

    未来,数字化转型不仅能进一步便利人民生活,也能促进长三角区域经济高质量发展,实现共建共治共享. 近日,沪苏浙皖三省一市网信办在沪召开协同推进数字化转型联席会议. 优势明显 三省一市网信办一致认为,积极 ...

  8. 福州大学计算机网络技术实验室,实验室提升福州大学网络实践教学能力

    实验室提升福州大学网络实践教学能力 锐捷实验室提升福州大学网络实践教学能力 大中小 1.福州大学数学与计算机科学学院简介 福州大学数学与计算机科学学院的前身为福州大学数学力学系,成立于1958年,50 ...

  9. 如何培养孩子独立思考的能力?

    如何培养孩子独立思考的能力? 独立思考的能力需要长期培养.父母要抓住生活中一切可以利用的机会,训练孩子的思路,引导孩子的好奇心,让孩子自己思考,并养成独立思考的习惯. 1.让孩子在独立行动中自己动脑 ...

最新文章

  1. python不想学了-学习 Python 很吃力,我是不是可以放弃编程了?
  2. 各种排序总结(一)直接插入排序
  3. 专业人士提升数据中心职业生涯的6件事
  4. matlab 低秩矩阵分解,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...
  5. .NET 和 Mono 的一点历史
  6. ubuntu 14.04 LTS(64bit) Anacoda2环境下安装gensim
  7. 图片服务 - thumbor自定义检测
  8. Golang实践录:使用gin框架实现转发功能:一些负载均衡算法的实现
  9. python编写年金终值函数_看零件图的标题栏可了解()
  10. vxp grandle 自动更新应用
  11. linux查看耗费流量的进程--iftop
  12. 谈谈工业App (1)
  13. 机器人把大龙拉出来_英雄联盟之我的电竞梦
  14. 最小二乘支持向量机(基于MATLAB)
  15. java ehcache使用_EhCache使用详细介绍
  16. 打开我的电脑的快捷键
  17. css 预处理器 less sass
  18. 前端项目添加自定义icont图标步骤
  19. 基于java jsp的社区志愿者服务系统
  20. 【USB接口程序设计】

热门文章

  1. 连续抛硬币,出现【反反正】你赢,出现【正反反】我赢
  2. session共享学习
  3. python从入门到实践课后题答案第7章_【《Python编程: 从入门到实践》习题答案--第七章:】...
  4. [附源码]Java计算机毕业设计SSM电影院订票系统
  5. 影楼行业的除了ps修图外还有Lr。
  6. 没有运维的公司,如何选择服务器?公司一定需要运维吗?
  7. 微软MOS认证!找工作的资本!
  8. Day03 每日英语 (辨析)
  9. 华为OJ——整数与IP地址间的转换
  10. 一个完整的URL 解析过程