阅读笔记二

这两天又读了一遍《程序员修炼之道——从小工到专家》感觉这次收获挺大的,比第一次读的时候收获大多了(如果第一次那样读算是读的话),先从整体上说说这本书吧,我记着第一次阅读的时候,当时自己非常青涩,对于书中的东西绝大数是没有通说过的,但是这学期我们学习了软件设计模式 这门课,我也了解了一些基本的设计模式,再加上这些天来也巧了一些的代码,完成过一两个简单的javaWeb的系统,读起来就感觉有感悟多了,有的时候读着真是感觉作者说的非常有道理,好多语境都跟我我都在一些语境中遇到过,而且书中说到的好多错误,我也基本上都翻过,下面说说我对这本数印象最深的几个方面。

1.书写代码的规范以及注释

以前总是听我们老师说要注意写代码的规范,要在代码中添加一些特定的注释以让别人和自己以后方便阅读,而且还说,如果面试的时候面试官一看我们写的代码,乱七八糟的没有注释,那就没有下一步了,直接就被咔嚓掉了。当时听着还没有太大的感觉,也就是左耳朵进右耳朵出,而且自己写代码的时候还是非常的不规范。格式以及注释都不太规范,当时自己想着反正我自己能看懂就行了,有没有其他人看,现在想想看,真是太年轻了,现在我是自己一个人写代码,但是到了以后工作了一定是跟其他人合作,到时候如果在这样写的话,不用说两天就被赶出公司大门了。

2.代码的正交性和封装

目前写代码的时候我过于追求功能,有的时候直接把一长段代码写下来,然后用到我已经写过的代码片段的时候,我就直接将代码复制粘贴到相应的位置,没有将它进行封装以及优化,没有将一些可共用的的功能或程序片段提取出来,以至于使得我写的代码的可阅读性非常的差,有的时候我第一天写完,到了第二天,连我自己都看不懂了,自己还需要花时间研究自己写的代码,这就造成了极大的时间浪费,相比于自己参图省事没有将代码封装起来省下的那一点点时间,真是亏大了。而且将代码封装成不同小的单元模块,还可以使代码之间能过更好的组合发挥出更大的作用。

以上两点,是这本书让目前的我发现自己身上最大的不足的地方,当然这本书还讲了好多东西,那些东西对我们以后工作或者是写更大的项目的时候提出了宝贵的意见。如 项目原型,利用纯文本保存东西,代码的调试,代码异常的使用,代码之间的解耦,”黑板”方法(将许多东西放到一个公共的地方,使他们在那里发生联系,而不是直接相互调用),代码的重构,代码的测试,以及团队之间的合作。上面提到的这么多东西,读者都是根据自己的理解然后表达出来,虽然现在还是有好多东西我还没有用到过,但是仍能从在书中了解到很多东西。

Original: https://www.cnblogs.com/ljq20204136/p/16742095.html
Author: 山海自有归期
Title: 阅读笔记二

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/579124/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 60行自己动手写LockSupport是什么体验?

    60行自己动手写LockSupport是什么体验? 前言 在JDK当中给我们提供的各种并发工具当中,比如 ReentrantLock等等工具的内部实现,经常会使用到一个工具,这个工…

    Java 2023年6月8日
    081
  • Markdown语法

    Markdown语法 1.标题 示例: 这是一级标题 ## 这是二级标题 ### 这是三级标题 #### 这是四级标题 ##### 这是五级标题 ###### 这是六级标题 渲染结…

    Java 2023年6月8日
    074
  • SpringCloud与SpringBoot的版本问题

    大版本对应 在实际开发过程中,我们需要更详细的版本对应: 时刻与技术进步,每天一点滴,日久一大步!!! 本博客只为记录,用于学习,如有冒犯,请私信于我。 Original: htt…

    Java 2023年5月30日
    074
  • 手动模拟JDK动态代理

    作者:赐我白日梦 https://www.cnblogs.com/ZhuChangwu/p/11648911.html 为哪些方法代理? 实现自己动态代理,首先需要关注的点就是,代…

    Java 2023年5月30日
    080
  • 如何自动化你的Excel导入导出(Java)?

    如遇图片无法显示,请前往掘金查看原文 GitHub | 中文 | English | 博客 为什么使用AutoExcel? Excel导入导出在软件开发中非常常见,只要你接触过开发…

    Java 2023年5月29日
    093
  • Java: 子类和父类实现相同的接口 (转)

    在阅读ArrayList源码的时候看到ArrayList 和 AbstractList 两个类的声明都分别实现了List的接口 可是ArrayList本身就继承自AbstractL…

    Java 2023年5月29日
    086
  • Java8新特性3:Stream流

    回顾之前《JavaSE-23.2》:https://www.cnblogs.com/yppah/p/14900824.htmlhttps://www.cnblogs.com/ypp…

    Java 2023年6月5日
    098
  • Spring HttpInvoker 从实战到源码追溯

    Spring HttpInvoker 作为 Spring 家族中老牌远程调用模型 (RPC 框架),深受开发者喜爱。 其主要目的是来执行基于 HTTP 的远程调用(轻松穿越防火墙)…

    Java 2023年5月29日
    079
  • Hexo 博客部署至腾讯云

    一.安装环境 推荐购买腾讯云活动的轻应用服务器 2C2G 就可以啦,我买的是 45 一年的:点我购买 以下命令默认在 ubuntu 系统上执行 安装 nginx apt-get i…

    Java 2023年6月8日
    090
  • Elastic APM安装

    安装前准备: 安装之前事先安装好elasticsearch和kibana。 下载安装包: apm-server-7.0.0-linux-x86_64.tar.gz (服务端包)el…

    Java 2023年6月6日
    0113
  • 常见的开源 License

    目录 什么是开源软件 什么是 license 商业许可证与开源许可证 对开发者的影响 开源许可证的类型 如何选择开源许可证 什么是开源软件 开放源代码的软件。假设有一天自我感觉代码…

    Java 2023年6月9日
    095
  • 168张图,万字长文,手把手教你开发vue后台管理系统

    “我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情。” 我写这个项目的初衷一方面是为了记录自己自学 vue 的一个过程,另…

    Java 2023年6月5日
    071
  • maven工程servlet实例之导入项目依赖jar包

    maven工程servlet实例之导入项目依赖jar包 添加 jar 包的坐标时,还可以指定这个 jar 包将来的作用范围。每个 maven 工程都需要定义本工程的坐标,坐标是 m…

    Java 2023年6月6日
    090
  • 一个奇葩的线上问题,导致我排查了一天

    昨天线上又出了个问题,花了一天的时间才找到原因,说起来原因其实特别的坑爹啊。 事情是这样的,最近我们上线了一个刷新用户 token 的功能,也就是 APP 里经常有的,只要你经常操…

    Java 2023年6月13日
    078
  • 聊聊支付流程的设计与实现逻辑

    新手打怵老手头疼的业务; 一、业务背景 通常在业务体系中,都会或多或少的涉及到支付相关的功能;对于一些经验欠缺同学来说,最紧张的就是面对这类支付结算的逻辑,因为流程中的任何细节问题…

    Java 2023年6月15日
    098
  • MybatisPlus 空指针问题

    使用myabtisplus一键生成测试mapper发现报空指针异常 首先查看Mapperscan(xxxx)地址是否正确,是否将mapper注入 其次查看数据库是否连接 最后发现了…

    Java 2023年6月6日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球