代码整洁之道 读书笔记思维导图
- 格式:xmin
- 大小:8.46 KB
- 文档页数:1
《系统思维》思维导图,带你快速掌握全局思维和整体思维站在高格局才能走得更远,什么是系统思维?如何进行系统思维?本文将用思维导图的方式,为你解读《系统思维》这本书。
《系统思维》以实用为向导,通过丰富的实例向大家设计并提供可借鉴的操作方法。
越来越多的人都开始注重自己的思维能力培养,系统思维听上去的第一感觉就是很空很大,因为系统总是一个很强大的名词,生态系统,免疫系统,它包含的内容总是很广泛,但也充满着逻辑性,之前在朋友圈看到一个朋友问有没有什么书能提高自己的思维能力,感觉自己思考问题的方式缺少思辨能力很希望自己能够有对做事的全面思考能力,而不是突发奇想,想起什么做什么,能拥有全局观和整体观,能在做事的时候减少一些不必要的麻烦。
思维的重要性也常常体现在做事的条理性,和逻辑性上,拥有系统思维才能更加全面的抓住整体,抓住要害,做事情的时候才会得心应手,灵活采用有效的方法解决问题。
下面我会根据MindMaster思维导图来为大家全面讲解《系统思维》这本书。
(注:本图由MindMaster导图社区用户每日读书绘制)什么是系统思维?思维一般有两层定义:思考的角度和思考的方法,我们听过逻辑思维,创新思维,批判性思维,结构化思维,其中的“思维”指的是思考问题的角度和方法,而系统思维具备了一种拥有全局观和整体观的框架,框架是系统元素的构成和规律,所以系统思维是一种从已有框架中选择、改善,全新构建,来系统思考与表达的思维方式。
它具有整体性,结构性,立体性,综合性,动态性的特点。
用如下思维导图向你展示系统思维的定义:系统思维常应用的场景及方法.1、如何发现问题?发现问题往往是创新的第一步,发现生活中存在的不便利事件就会驱使你向解决问题的一面去进发创造出有意思的产品,众所周知,提出一个好的问题,就意味着问题解决了一半,提问题的技巧还可以发挥人的想象力。
那么如何用系统的思维去发现问题呢?可从准确的描述问题,明确问题的构成要素,探究问题的本质,显性化问题隐含的假设去界定问题。
读书:《代码整洁之道》刘豹目录读书:《代码整洁之道》 (1)1.本书内容概要 (1)2.阅读建议和相关读物推荐 (2)3.要整洁代码的代码 (2)4.有意义的命名 (2)4.1要“名副其实”; (2)4.2命名要避免误导 (3)4.3做有意义的区分 (3)4.函数 (5)4.1函数要短小、再短小 (5)4.2只做一件事 (5)4.3每个函数一个抽象层级 (6)4.4使用描述性名称 (6)4.5函数参数 (6)4.6抽离Try/Catch代码 (7)4.7如何写出这样的函数 (7)5.注释 (7)5.1核心观念 (7)5.2好的注释 (8)5.3坏的注释 (8)6.格式 (9)7.错误处理 (9)8.边界&单元测试 (9)9.类.....................................................................................................................................109.1类的组织 (10)9.2类应该短小.........................................................................................................10."其他章节 (10)1.本书内容概要核心观点:Bob大叔(即Robort.C.Martin,多本畅销书的作者,业界称其Bob大叔)认为软件质量,不仅依赖于架构及项目管理,而且与代码质量紧密相关。
而代码质量与其整洁度成正比。
核心内容:Bob大师和ObjectMentor的专家以这个强大团队十几年的经验,总结了如何在代码中达到clean code,即整洁和干净的代码的经验规则。
豹:从本书的字里行间,我可以感受到Bob大叔的语重心长、循循善诱、斩钉截铁:“专业性和技艺来自于驱动规程的价值观”,也能体会到大叔的严密谨慎也感受到了他的热情和激情。
《架构整洁之道》读书笔记1. 设计与架构软件架构的终极⽬标是,⽤最⼩的⼈⼒成本来满⾜构建和维护该系统的需求。
⼀个软件架构的优劣,可以⽤它满⾜⽤户需求所需要的成本来衡量。
如果该成本很低,且在系统的⽣命周期内始终很低,那么这个系统的设计就是优良的。
反之,就是不好的设计。
胡乱编写代码的⼯作速度,其实⽐循规蹈矩更慢。
要想跑得快,先要跑得稳。
2. 两个价值维度⾏为价值:程序按照需求⽂档要求的⽅式⼯作架构价值:软件的“软”,即软件的灵活性艾森豪威尔矩阵重要且紧急重要不紧急不重要但紧急不重要且不紧急紧急的事情往往没那么重要,⽽重要的事情似乎永远也排不上优先级。
第⼀个价值维度:系统⾏为,是紧急的,但是并不总是特别重要。
第⼆个价值维度:系统架构,是重要的,但是并不总是特别紧急。
应有的排序:重要且紧急重要不紧急不重要但紧急不重要且不紧急常犯的错误:将第三优先级的事情提到第⼀优先级去做。
导致重要的事情被忽略。
平衡系统架构的重要性与功能的紧急程度,是软件研发⼈员⾃⼰的职责。
建议:为好的软件架构⽽持续⽃争研发团队必须从公司长远利益出发,与其他部门抗争,公司内部的抗争本来就是⽆⽌境的。
软件的可维护性需要由你来保护,这是你的职责,公司雇你的很⼤⼀部分原因就是需要有⼈来做这件事。
3. 编程范式编程范式指的是程序的编写模式。
⼀共只有三种编程范式,⽽且未来⼏乎不可能再出现新的(理由是,编程范式都是增加限制,Bob⼤叔的理解)。
⼀本谈软件架构的书,为什么要设计编程范式呢?Bob⼤叔如是说:多态是我们跨越架构边界的⼿段,函数式编程是我们规范和限制数据存放位置与访问权限的⼿段,结构化编程则是各模块的算法实现的基础。
这和软件架构的三⼤关注重点不谋⽽合:功能性、组件独⽴性、数据管理。
结构化编程可推导性:可以⽤代码将⼀些已证明可⽤的结构串联起来,只要证明额外的代码是正确的,就可以推导出整个程序的正确性goto语句的某些⽤法会导致某个模块⽆法被递归拆分成更⼩的、可证明的单元。
7个步骤,教你⽤思维导图整理并记住⼀本书!都说思维导图⾮常有助于记忆,但要怎么⽤思维导图来记忆,很多⼈都讲的很⾼深(模糊)。
下⾯我就⽤我的经验告诉⼤家为什么思维导图的形式适合记忆,以及如何⽤思维导图来进⾏记忆。
⼀、思维导图为什么有助于记忆?我之前在⽂章中分享过,要让学习和记忆更有效更牢靠,在学习过程中/后要试着进⾏“编码、巩固、检索”三个流程,这是实现长期记忆的关键。
具体阅读:实现有效学习和记忆的3个关键!⽽思维导图在这三个阶段中,都有着巨⼤的作⽤,可以帮你很好的完成这三个流程,更好的记住知识:⾸先,思维导图本⾝就是⼀种让知识结构化、流程化的⽅法和⼯具,让你⼀⽬了然;其次,思维导图不是长篇⼤论,其关键词或图⽚可以⼤⼤提升你的巩固效率;其三,思维导图中的这些关键词,本⾝就是很好的检索“提⽰、索引”,通过这些关键词的提⽰,便可打开记忆的闸门,进⾏回忆和思考,既能帮助提取记忆,也能检查记住与否。
⼆、如何⽤思维导图来进⾏记忆?步骤⼀、快速阅读并理解⼀本书开启⼀本书之后,先查看⼀下⽬录,对书籍有⼀个整体的认识。
正式阅读的时候,结合⽬录进⾏快速阅读。
建议把你的平时读书的速度⾄少提升⼀倍,以⾄少2倍速度快速扫读完⼀本书之后,找到你感兴趣的地⽅、对你重要的地⽅、看不懂的地⽅,然后再放慢⼀点速度来阅读,对于⼆次读过发现的精华内容,再进⾏⼀遍精读。
(很多⼈觉得这样可能很⿇烦也很费时,事实并⾮如此,这样花费的时间并不会⽐你慢慢的读花费的时间多,⽽且好处多多:⽐如让你产⽣好奇⼼、问题意识,让阅读不会那么⽆趣,阅读更有⽬标更加专注,加深理解和印象等等)我⾃⼰在第⼀遍阅读的时候,通常是以每分钟三千字左右的速度进⾏的(如果书籍很⼀般,读完第⼀遍就不读了),碰到我想要的内容或不知道的内容时,速度会减慢⼀些,⼆次精读的时候再适当放慢⼀点。
在我不断的尝试运⽤下,发现这样的⽅法是⾮常有效的。
如果你的阅读效率低,还是建议⾃⼰去学习⼀下快速阅读,两三千字每分钟的阅读速度还是很容易掌握的。
《人生整理术》阅前思考:拖延症、不自信、做事千篇一律、人际关系迷茫怎么办?如果你感觉生活如一团乱麻,如何缕清人与物、是与非的关系?如何让大家丢掉“不需要的”、“不舒适的”负能量,留下“必要的”、“有益的”正能量?一、人生需要“丢弃与整理”1、丢弃负面用语,用提问激励自己;2、丢弃负面话语,开始积极的语言整理;3、丢弃借口,试着说出事实真相;4、想让别人关注,丢弃对自我的过分关注;5、学会换位思考,丢弃对人或事的固念。
二、 自信和幸福1、丢弃“担忧”,重拾信心;2、丢弃痛苦的记忆垃圾;3、丢弃彷徨与自我否定;4、丢弃挫折记忆,专注于下一次;5、丢弃习以为常的执念,大胆尝新;6、丢弃自我否定;7、快乐,无需理由。
★从“悲伤”到“快乐”的“三步舞曲”:第一步:改变外观;微笑;展肩挺胸;让目光灵动起来;向上看;深呼吸两次。
第二步:挖掘细节;找出5个在此刻令你感恩的好事;第三步:动起来。
采取行动,让自己进入开心状态;不要总坐着。
三、情感1、友情友情坐标使用“3E线”2、爱情丢弃等待,主动寻找真爱。
相互信任与奉献,乐意倾听对方;把小事做对,就可以为爱情铸造坚实的基础。
3、亲情10件事使家庭关系更加融洽的事:▷跟你的伴侣约会;▷为父母、祖父母录像;▷一起用餐;▷和孩子们“约会”;▷父亲和儿子的“男子汉节”;▷花更多时间与上年纪的亲戚相处;▷用心挑选礼物;▷时常相聚;▷为兄弟姐妹收集纪念品;▷告诉家人,你多么地爱他们。
4 、逝去四、健康1、修炼健康彻底放松方法:找出15分钟时间;一个安静的环境;播放舒缓的音乐;坐起来;深呼吸几次,闭上双眼;专注于自己的呼吸,缓慢、放松地呼吸;想一些能让你放松地事物,在头脑中想象那些形象和声音;认真体会这种深层放松状态;在心中勾勒出健康的状态,想象自己做出正确的决定,变得积极、健美、活力充沛;快到15分钟时,轻轻地从1数到5,感受自己逐渐被唤醒;数到5时,张开双眼,伸展身体,体会深度自我放松状态营造的奇妙感受。
CleanCode代码整洁之道一、为什么需要该课程软件质量,不但依赖于架构,设计以及项目管理,而且与代码质量紧密相关.这一点,无论你使用什么开发技术,都不得不承认.代码是程序员沟通最直接的手段,代码是技术交流的手段,代码是需求交流的途径。
重视代码,回归本源,曾经我们远离代码,谈架构设计,谈UML,谈开发流程。
如今我们落地,找回软件的本源,彻彻底底看清代码、深入思考代码。
那些一流的研发中心非常重视代码,Facebook就有经典的Code wins arguments(代码赢得争论)。
在Facebook 做code review时间大约占50%,管理者对代码质量负有一定责任。
甚至代码质量高于一切:Facebook Code review 是重点KPI考核的对象,实行连坐制,如果因为代码质量问题,那么产生的KPI责任包括领导30%、程序员50%、审核人员20%。
但是我们的管理者经常听到开发人员这样抱怨:“不能再增加功能了!我们得停下来重写代码。
软件代码一团糟,就像纸糊的老虎,根本应付不了持续增加的用户需求。
我们实在维护不下去了!最好推倒重写吧”这一幕在很多公司上演过,现在依然在不断重演。
一旦公司陷入这种困境,以前版本的开发者往往沦为替罪羊。
新的开发者一般就会骂前人怎么写这么烂的代码。
他们准备推倒重来,准备重写系统。
在重写代码的过程中,用户无法看到产品的任何改进。
你可能认为重写代码至多也就几个月,但是实际花费的时间无一例外要多得多。
你只能坐在一旁,眼睁睁看着用户投奔竞争对手,而这个时候,竞争对手恰恰在不断地改进产品。
我们研发中心有一个理念”代码是债务而不是资产”。
最开始,团队会编写代码,做出产品,并用它来赚钱,但是,之后团队应该尽可能地寻找减少代码的方法和使代码尽量整洁,从而降低成本。
软件界有一个真理,你拥有的代码越多,维护代码所要付出的成本就越高。
如果你的代码结构越好,你做了越多的单元测试,你的代码质量越好、越小、耦合越松,那么添加新代码所需要付出的成本就越少。
代码整洁之道-第4章-注释-读书笔记第 4 章 注释 “别给糟糕的代码加注释—重新写吧。
” — Brian W,Kernighan 与 P.J.Plaugher 什么也⽐不上放置良好的注释来得有⽤。
什么也不会⽐乱七⼋糟的注释更有本事搞乱⼀个模块。
什么也不会⽐陈旧、提供错误信息的注释更有破坏性。
注释的恰当⽤法是弥补我们在⽤代码表达意图时遭遇的失败。
我们总⽆法找到不⽤注释就能表达⾃我的⽅法,所以总要有注释,这不值得庆贺。
如果你发现⾃⼰需要写注释,再想想看是否有办法翻盘,⽤代码来表⽰。
注释存在的事件越久,就离其所描述的代码越远,越来越变得全然错误。
原因很简单。
程序员不能坚持维护注释。
程序员应当负责将注释保持在可维护、有关联、精确的⾼度。
但我更主张把⼒⽓⽤在写清楚代码上,直接保证⽆序编写注释。
不准确的注释要⽐没注释的代码坏的多。
尽管有时也需要注释,我们也该多花⼼思尽量减少注释量。
4.1 注释不能美化糟糕的代码 写注释的常见动机之⼀是糟糕的代码的存在。
带有少量注释的整洁⽽有表达⼒的代码,要⽐带有⼤量注释的零散⽽复杂的代码像样的多。
与其花时间编写解释你搞出的糟糕的代码的注释,不如花时间清洁那堆糟糕的代码。
4.2 ⽤代码来阐述 只要想上那么⼏秒钟,就能⽤代码解释你⼤部分的意图。
很多时候,简单到只需要创建⼀个描述与注释所⾔同⼀事物的函数即可。
4.3 好注释 唯⼀真正好的注释是你想办法不去写的注释。
4.3.1 法律信息 有时,公司代码规范要求编写与法律相关的注释。
例如,版权及著作权声明就是必须和有理由在每个源⽂件开头注释处放置的内容。
这类注释不应是合同或法典。
只要有可能,就指向⼀份标准许可或其他外部⽂件,⽽不要把所有条款放到注释中。
4.3.2 提供信息的注释 有时,⽤注释来提供基本信息也有其⽤处。
这类注释有时管⽤,但更好的⽅式是尽量利⽤函数名称传达信息。
4.3.3 对意图的解释 有时,注释不仅提供了有关实现的有⽤信息,⽽且还提供了某个决定后⾯的意图。