首页 > 其他分享 >阅读笔记1

阅读笔记1

时间:2023-10-20 21:11:06浏览次数:32  
标签:纠正 原则 项目 代码 笔记 注重实效 阅读 耦合

如何成为一个注重实效的程序员,如何成为一个注重实效的团队?

<程序员修炼之道从小工到专家>纠正了我一些不良习惯,是一本经得起时间沉淀的好书。

温水煮青蛙的例子让我们要持续不断地观察周围发生的事情,而不仅仅是自己在做的事,尤其是项目的管理者必须要实时的掌控项目的方向,因为大多数项目失去控制都不是一下子就发生的,而是慢慢地,不可改变的完全失去控制的。可能是系统一个特性一个特性的偏离了规范,项目进度一点一点的拖延。这种情况下如果是作为个人还是管理者都不应该容忍规范的违背,每天、每周都需要审视自己,审视团队,及时纠正问题,纠正团队的方向。

贯彻全书的一个原则是DRY(Don‘t Repeat Yourself)原则,这也是每个优秀的开发人员必须要遵循的规范,编码过程中任何地方都不要重复,因为重复暂时节省的时间将会给以后的维护使用带来巨大的麻烦,如果发现代码有重复或者违反正交性等原则的地方要立刻找机会重构。这样才能够拥有更快、更好、更强健、更优雅的代码。

一个好的程序一定是低耦合的,这本书提出了函数的德墨忒尔法则帮我们更好的界定耦合的边界,怎样编写低耦合的代码,更难能可贵的是这本书不仅仅描述了一般的代码耦合,还花了很大笔墨解释了时间耦合,很多时候一个业务的实现没有必要一定是线性的,它可以是并行的,这在适用的情形下往往能在提高用户体验的同时还能降低系统的并发压力。

另一个很重要的原则是不要随意你不熟悉的框架和工具,现如今各种框架的功能越来越强,但与此同时各种底层的实现也隐藏的越来越深。如果使用了不熟悉的产品,却不去理解它的底层实现,项目很可能是不受控制的,很多时候我们没有能力去维护它,在碰到问题需要调试解决的时候会碰到很大的困难。

标签:纠正,原则,项目,代码,笔记,注重实效,阅读,耦合
From: https://www.cnblogs.com/zh-ang-zhang/p/17778002.html

相关文章

  • C++学习笔记Day2
    关于String对象的一些事1.string对象来源于C++标准库<string>,表示一种可变长的字符序列,定义在命名空间std之中。2.string对象无初始值默认为空字符串。3.若是使用等号对string变量进行初始化,属于拷贝初始化,不使用等号,如strings6("hiya");strings7{"11123"};strings8(10,"c......
  • uboot定制自己的板子--Apple的学习笔记
    一,前言既然下载了最新的uboot版本,那么就玩玩吧,先要定制自己的板子。二,问题分析及解决1,出错信息U-BootSPL2023.10(Oct192023-19:58:50+0800)TryingtobootfromMMC1U-Boot2023.10(Oct192023-19:58:50+0800)AppleCai'sam335BoardCPU:AM335X-GPrev2.1......
  • 【比赛笔记】CSP-S 2023
    授权码MD5:71f9eea8b22d84fca61763855842d32f游记Day0-比赛前夕来摘抄一段学长给的注意事项。然后评价一下...freopen//万事开头`freopen`,一定写`freopen`编译环境(-O2,-std=c++14)//命令行编译,注意编译信息g++a.cpp-oa-O2-std=c++14//重温编译命令stl......
  • 信息安全系统设计与实现——学习笔记6
    任务详情:自学教材第11章,提交学习笔记Part1知识点归纳&GPT提问知识点归纳多任务处理定义:在计算机技术中,多任务处理指的是同时执行几个独立的任务。在单处理器(单CPU)系统中,一次只能执行一个任务。多任务处理是通过在不同任务之间多路复用CPU的执行时间来实现的,即将CPU执行操作......
  • 大话设计模式之策略模式笔记
    策略模式结构classDiagramclassContext{-Statagestatage+ContextIntegace(Statagestatage)}classStratage{<<abstract>>+algorithmInterface()}classConcreateStratage1{}classConcre......
  • 大话设计模式之简单工厂模式笔记
    简单工厂模式以实现加、减、乘、除的计算器功能为例初级代码:输入数字交互界面@SuppressWarnings("resource")publicstaticvoidmain(String[]args){System.out.println("**********************************************");System.out.println("......
  • 【论文阅读】DeepAR Probabilistic forecasting with autoregressive recurrent netwo
    原始题目:DeepAR:Probabilisticforecastingwithautoregressiverecurrentnetworks中文翻译:DeepAR:自回归递归网络的概率预测发表时间:2020年07月平台:InternationalJournalofForecasting文章链接:https://www.sciencedirect.com/science/article/pii/S0169207019301888......
  • 算法学习笔记(31): 李超线段树
    李超线段树是一种按照值域维护一次函数最值的数据结构,其核心在于一次函数和值域的双单调性。如果预先对于值域离散也可以维护其最值。也就是说只要满足时一次函数,以及下标的单调性都可以利用李超线段树维护。李超线段树就是利用线段树来维护一次函数的最值,每一个结点对应了一......
  • ansible学习笔记
    ansible目录ansible安装1.配置1.1Inventory(主机清单)1.2ansible.cfg2.模块2.1yum模块2.2copy模块2.3get_url模块2.4fetch模块2.5file模块2.6service模块2.7group模块2.8user模块2.9cron模块2.10mount模块2.11firewalld模块2.12command/shell/raw模块2.13script......
  • CSS3属性详解(一)文本 盒模型中的 box-ssize 属性 处理兼容性问题:私有前缀 边框 背景属
    CSS3是用于为HTML文档添加样式和布局的最新版本的层叠样式表(CascadingStyleSheets)。下面是一些常用的CSS3属性及其详细解释:border-radius:设置元素的边框圆角的半径。可以使用四个值设置四个不同的圆角半径,也可以只使用一个值来设置统一的圆角。box-shadow:创建一个元素的阴影效果......