将学生成绩等级划分划分等级,标准如下:(if…elseif) “优秀”,>=90; “良好”,>=80,

&p&如果时间实在有限,无论是想变得更加强壮,还是减少身上的脂肪,请专注以下几点:&/p&&p&&br&&/p&&p&1,只做深蹲,硬拉,卧推,引体向上和杠铃划船这五个动作,这是最基础全身复合型的训练。&/p&&p&2,不需要学会很多动作,按照线性方式逐渐加大负重,提高肌肉和骨骼的适应能力。&/p&&p&3,锻炼的核心围绕“深蹲,硬拉”这两项力量,隔天交替练习一次。&/p&&p&4,一周可骑几次单车,谨慎跑步。&/p&&p&5,人全身的力量源自下半身,人来腿先老,腿部是全身最强壮的肌肉群。蹲下是人类的一个启蒙性动作,在原始社会狩猎,我们都要躲在丛林后面蹲下去,通常是几个小时一动也不动,现代人再做这个标准,即使在精神状态非常放松的情况下,起来的一刻亦会腰酸背痛,这就是用进废退。&/p&&p&6,硬拉跟在地上搬起重物的过程,是一模一样的,一生中绝大多数时间都需要用着。&/p&&p&7,跟野外的猎物,近距离搏斗,动物扑在身上,就需要强有力的上肢和上半身的力量,去把猎物推开,这就是卧推的意义所在。&/p&&p&8,杠铃划船,顾名思义,模仿划船的动作,河流中舟行划桨,对背阔肌是非常大的考验。&/p&&p&9,自从人类直立行走一来,就对头部伸过高高树枝非常感兴趣,有利于高处侦查,引体向上能助你一臂之力。&/p&&p&10,深蹲,硬拉,卧推,引体向上和杠铃划船,这五项都是日常生活中,处处用得到,进行负重强化。而在固定器械上的动作轨迹,和发力方式,你不会在健身房之外的,第二个地方用到,且对关节及其不友好。举一个例子,在史密斯架上做卧推,杠铃的运行轨迹是垂直上下,就会伤到肩关节。&/p&&p&11,长期以往,肌肉,骨骼,血液量显著提高,脂肪含量大幅度下降,俗称增加瘦体重。&/p&&p&12,&b&动作花样多没有意义,基础性的杠铃训练,简单做到极致,你就能超越自己。&/b&&/p&
如果时间实在有限,无论是想变得更加强壮,还是减少身上的脂肪,请专注以下几点: 1,只做深蹲,硬拉,卧推,引体向上和杠铃划船这五个动作,这是最基础全身复合型的训练。2,不需要学会很多动作,按照线性方式逐渐加大负重,提高肌肉和骨骼的适应能力。3,…
&p&跟教授关系熟络的,一般不会问“怎么问教授要推荐信”。既然有此疑问,说明&b&你并不确定教授能否给你一封推荐信&/b&。也许你在课堂里只是一个小透明,也许你在读时很活跃但已经毕业了几年,不确定教授是否还记得你。那么到底怎样才能要到推荐信?个人觉得在请求对方写推荐信的电邮里,最好包括这三点。
&/p&&p&&br&&/p&&p&&b&第一, 写清楚为什么要对方的推荐(而不是其他人) &/b&&/p&&p&这里可以接受的理由其实只有一个:&b&&u&您特别适合评估我在这个方面的能力&/u&&/b&。例如我在申请的时候,邀请一位做质性研究的教授帮我写推荐信。这位教授不但自己在质性研究成果卓著,在学术界也担任不少重要的职位。我们也在定性研究方法上有过非常深入的讨论,因此这位教授完全可以对我在定性方法上的理解和能力做出专业的评估。&/p&&p&&br&&/p&&p&这里顺便岔开一句,求大牛推荐信的做法未必可取。真正可取的是找有能力或有资格评估你专业水准的人,这样的人甚至可以是和你合作的博士生(假设你是本科生)。因为各种机缘,我看到一些推荐信,虽然是大牛起笔,但是内容其实对学生的论文充满了微妙的讽刺。这样的信,只会葬送你的机会。有的写信人虽不是大牛,但真心了解你,那写起来最起码不会失分。
&/p&&p&&br&&/p&&p&&b&第二, 帮对方提供素材&/b&&/p&&p&你们互相越不熟悉,那么你就越该主动提供写作素材。对方的咖越高,那么你就越该主动提供素材。这里的目的是,减少对方的时间成本。另外一个重要的好处是,尽量让推荐人只写那些你想让他们写的部分。但是注意,要写清楚只是“参考”,要留给对方主导推荐内容的自由。 &/p&&p&&br&&/p&&p&当然这里必须尽量避免留下“命题作文”的印象。有的学科的老师会希望你给明确的模板,有的学科的老师会希望你只是提供成绩单以及你的个人陈述,因此素材的范围不见得拘泥于一两种形式。&/p&&p&&br&&/p&&p&&b&第三,“您不写也不要紧” &/b&&/p&&p&让对方有一个舒服的说“不”的权利。对方可能委婉地说最近非常忙碌,或者干脆不回复,那么对方其实也已经表达了自己的意愿。&/p&&p&&br&&/p&&p&下面是一个实例:
&/p&&p&Dear XXXX, &/p&&p&第一点:Hope you are doing well. I want to ask you for a favor – I am applying for a xxx position at xxxx. I hope that you can consider writing a recommendation letter for me to support my application. I believe you are in a good position to assess my capabilities and potentials &b&&u&because&/u&&/b&…...&/p&&p&(请填入适当内容) &/p&&p&&br&&/p&&p&第二点:To make the process as easy for you as possible, I have (1) made a list of potential bullet points along with a draft letter you might consider using as a template/ (2) attached my transcript and personal statement for your reference&/p&&p&(请填入适当内容;这里插入小评论。&b&&u&一个教授在期末可能要为10-30位学生写推荐信&/u&&/b&,如果你可以精确地提供这些素材,可以大大帮助他们组织语言,给你写出高质量的推荐信。这个举动,也会有助于你在众多“懒惰”的学生当中脱颖而出,让教授对你的印象加分) &/p&&p&&br&&/p&&p&第三点:If you are not comfortable writing this letter, I completely understand. However, if you are willing to do so, please feel free to make any changes to the bullet points I made and add any new points as long as you find suitable.
&/p&&p&(收尾)&/p&&p&&br&&/p&&p&不知道大家发现没?这里的核心要点也就一个:&b&&u&充分为对方考虑&/u&&/b&。能够做好这三点,即使对方不愿意写,那么起码也不会给对方留下坏印象。&/p&&p&祝大家能拿到自己心仪的推荐信!
&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&p&附:我还写了六篇学术导向的问题,希望可以帮助到你:
&/p&&p&&b&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&学术研究中资质或天赋跟勤奋哪个更重要?&/a&&/b&&/p&&p&&b&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&导师的选择和建议? &/a&&/b&&/p&&p&&b&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&在国际学术会议上如何社交?&/a&&/b&&/p&&p&&b&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&第一次写学术论文无从下手怎么办?&/a&&/b&&/p&&p&&b&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&做学术期刊的审稿人是怎样的体验?&/a&&/b&&/p&&p&&b&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&应该采取什么策略读文献?&/a&&/b&&/p&
跟教授关系熟络的,一般不会问“怎么问教授要推荐信”。既然有此疑问,说明你并不确定教授能否给你一封推荐信。也许你在课堂里只是一个小透明,也许你在读时很活跃但已经毕业了几年,不确定教授是否还记得你。那么到底怎样才能要到推荐信?个人觉得在请求对…
1. 請別人幫忙(發文件等等)&br&At your convenience, would you please send me.....&br&最後加上Thank you for your assistance.&br&&br&2. 尋求意見:&br&Our team would appreciate your insights/input on.....&br&&br&Due to the short time frame for this proposal, prompt reply is greatly appreciated. &br&&br&3. 取消會議:&br&I want to be mindful of your time and we don’t have any u therefore I suggest that we cancel/reschedule today's meeting. If you disagree or need assistance, please let us know.&br&&br&My apologies for the late notice, but i need to reschedule tomorrow's call. There remain a few open items we need to address, therefore i will send out a new invite once we agree upon a time.&br&&br&4. 對方發郵件問問題時,回答完加上:Hope this answers your question. Let me know if further detail/explanation would be helpful.&br&&br&5. 會議總結:&br&Thank you for making time on a very busy Friday afternoon to join our discussion. i hope we were able to provide clarity on......Attached is a summary of what we discussed today.&br&&br&6. 道歉:&br&My sincere apology for this u I will address to my team immediately.&br&Again,please accept my most sincere apology.&br&&br&7. 跟客户分享项目进展以后,建议电话详谈&br&Once these final steps are finished, I would suggest having a brief call to discuss our findings and recommendations for next steps.
Would you please provide a few times the week of XXX that work within your schedule and I will send the calendar invite?&br&&br&8. 文件打了草稿,请求上司过目&br&Attached is the drafted xx file. It is still a work in process but I would like to see if anything immediately stood out to you as odd or worthy of follow-up.&br&&br&9. 分享2个不错的automatic reply,去旅游或者外地开会的时候可以用:&br&&p&Thank you for your e-mail. I will be out of the office on vacation from XXX - XXX with no access to e-mails. I apologize for any delay in response to your e-mail. I will respond to your e-mail as quickly as I can when I return to the office on Monday, April 18th. Thanks!&/p&&br&&p&Thank you for your e-mail. I am out of the office in meetings on XXX and XXX with limited access to e-mail. If you need immediate assistance, please contact me via my mobile phone.
Thank you!&/p&&br&10. 指点下属&br&Thanks for preparing the XXX. I made the following updates to the question responses.
We can discuss my thought process when I am in the office on Monday.
&br&&br&XXX, good job! I have reviewed the XXX documents and have the following review comments:&br&1...&br&2....&br&(将做好的文件交给老板检查以后,通常会有Review Comments,就是列出需要改的部分)&br&&br&11. 邮件问好 (美国人好喜欢用hope 哈哈)&br&周一/二可用:&br&I hope that your week is off to a great start.
&br&Hope you had a great weekend.&br&万能的:&br&Hope you’re well/Hope you are doing well.&br&I hope this message finds you well.&br&&br&PS. If you like this answer, if not, don't. I REALLY don't give a damn of your opinion.&br&&br&以上
1. 請別人幫忙(發文件等等) At your convenience, would you please send me..... 最後加上Thank you for your assistance. 2. 尋求意見: Our team would appreciate your insights/input on..... Due to the short time frame for this proposal, promp…
&p&学更多更多的知识,做更多更多的事情。&/p&&p&&a href=&//link.zhihu.com/?target=http%3A//www.scotthyoung.com/blog/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&斯考特·杨(Scott Young)&/a&12个月之内,&b&自学&/b&完成了传说中的&a href=&//link.zhihu.com/?target=http%3A//www.eecs.mit.edu/academics-admissions/undergraduate-programs/course-6-3-computer-science-and-engineering& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&MIT计算机科学课程表&/a&的全部33门课,从线性代数到计算理论。按照他的进度,读完一门课程大概只需要&b&1.5&/b&个星期。&b&这是我见过的大学生里在学习方面活得最充实的人。&/b&为此,他写了一本《如何高效学习》向人们介绍他的学习方法。好吧,我愿证明,我就是来贴这篇读书笔记的 ! ////欢迎不带恶意的收藏!!!欢迎点赞,虽然赞不带来什么,也许能够让更多人看到这篇答案////。光排版就从头来了好几遍呢!!!更别提敲字的时间哪去了###
ps.文后有惊喜!&/p&&br&&p&&b&11.8回复评论:关于视频,关于真伪,手动搜索:Scott Young Ted并且参考他的博客记录 ;具体不清楚请参考原著《learn more ,study less 》......谢谢某些用户无脑而真诚的私信或评论,你们真把我气乐了;总是打击我对知乎的信心和喜爱.......&/b&&/p&&br&&p&该书主要介绍的就是整体性学习方法。整体性学习的关键在于建立知识之间的关联,你创造的联系越多,越有助于驾驭知识。核心在于通过已有知识结构来去和新知识产生衔接,即用原有熟悉的模型来理解整合新的知识及联系。 &a href=&http://www.zhihu.com/people/cai-tong& class=&internal&&采铜&/a&老师认为这是一种「&b&进击型学习&/b&」,&u&强调深入思考,主动寻找问题和漏洞,而不是让它们来找你。&/u&&/p&&br&&p&&b&*整体性学习基于三种主要观点:&/b&&/p&&br&&p&&b&结构&/b&&/p&&p&&u& 结构就是一系列紧密&b&联系&/b&的知识。你的基础知识结构越发达问题解决起来就越容易。&/u&聪明的人每学习一个新概念,都会自动地与其他知识相联系。强有力的结构来自概念之间不断的联系,一次完成一个想法。日积月累,水到渠成。 &/p&&br&&p&&b&模型&/b&&/p&&p&&u&模型是简化的结构。模型目标:压缩信息。&/u&通过将&b&核心概念&/b&联系在一起,创建一个模型,在此基础上引伸出全部的知识。&/p&&p&&u&感知结构&/u&:是最基本的结构。生活中大量的图像、声音和情感构成了你的生活经验。&/p&&p&&u&关系结构&/u&:通过&b&故事&/b&、&b&人物&/b&以及人物之间的相互作用可以清楚地显示我们的实际生活。 &/p&&p&&u&基础数学结构&/u&:可以作为建立更深层次数学结构的基础,也可以用它来简化其他学科里的各种关系。 &/p&&br&&p&&b&高速公路&/b&&/p&&p&&u&你需要的是增加城市之间的联系,即&b&结构与结构之间的联系&/b&&/u&。建立高速公路的好处不会马上显现出来。利用高速公路可以&b&在专业交叉的领域建立起新的结构。&/b&&/p&&br&&p&&b&**整体性学习的顺序&/b&&/p&&p&步骤顺序也不需要固定不变。但是,每一个步骤对学习都很重要。如果你总是缺少某一步骤,或者某个步骤完成的不好,信息就不会得到很好的存储,这种学习就是失败的,因为信息不能整合到你的整体性认识中去。 &/p&&br&&p&&u&&b&1)获取&/b&&/u&&/p&&p&阅读、课堂上记笔记以及个人的种种经历都是获取。&u&获取阶段的目标是获取的信息要准确,信息量要尽量压缩。&/u&&/p&&br&&br&&p&获取信息时有三个主要目标: &/p&&p&&b&简化 &/b&&u&找出真正需要的信息,很多作者和老师喜欢讲些无用的话&/u&。这些对形成模型没有帮助。如果你觉得不需要掌握,就大胆跳过它。 &/p&&p&&b&容量&/b&
明白了信息的简化之后,你就应该获取尽可能多的信息,&u&只读一句话当然没有读完一页理解得透彻&/u&,知道得越多,理解得就越深。 &/p&&p&&b&速度&/b&&u& 好的阅读和听讲方法能使获取阶段大为改善,即使是在这个最早的阶段,大多数人也有很大的改进空间. &/u&&/p&&br&&p&&u&&b&(2)理解&/b&&/u&&/p&&p&
理解就是&b&了解信息的基本意思。&/b&聪明人需要超越它,你还需要了解一个公式是怎么得来的,它与其他公式的关系,以及怎样将它用在解决外面世界的各种各样问题。 &/p&&p&如果你不能立即理解某段话,并不代表你的学习非整体性。我的建议是当你遇到比较难的课程时,&b&首先尝试将其分解为更小的问题,缩小范围,搞清楚你真正不能明白的地方,你才可以深入阅读,跨过障碍。 &/b&&/p&&br&&p&&u&&b&(3)拓展&/b&&/u&&/p&&p&拓展有三种主要方式: &/p&&p&&b&深度拓展&/b&:知识的&b&背景&/b&探究。缺点是需要很多探索,但它可能是牢牢锁定知识的最佳方法。&/p&&p&&b&横向拓展&/b&:需要在知识周围建立联系,通常意味着你要建立模型,在模型与原知识之间建立联系。&/p&&p&&b&纵向拓展&/b&:运用得当,其速度要比深度拓展中探究知识的背景快得多。纵向拓展特别强调比喻法,这也是本书的核心。&/p&&br&&p&&u&&b&(4)纠错&/b&&/u&&/p&&p&
寻找错误,&b&删除无效的联系&/b&。纠错可以采取很多方法,包括&b&阅读与你观点相反的书籍&/b&,以及把结论放到现实社会看看等等。&/p&&br&&p&&u&&b&
(5)应用&/b&&/u&&/p&&p&比较信息是如何在现实中运行的来进行调整,如果理解不符合现实世界,那么再多也无用。 &/p&&p&很少的知识能够到达此阶段,但是如果你能将更多的知识引导至应用阶段,你深入理解的知识就越多。 &b&知识中的很大一部分存在于潜意识中,这部分知识如果不去运用就得不到很好的发展。&/b&创造新的途径,应用所学知识到你的生活中去。&b&更多的实践,抛开书本,走出去,去做实验,去接触生活,去融入社会。 &/b&&/p&&br&&p&&u&&b&(6)测试&/b&&/u&&/p&&p&
上述阶段的每一步都需要测试,测试有助于你迅速找到学习中的问题所在。&/p&&br&&p&&b&**整体学习顺序小结&/b&&/p&&p&
整体性学习的顺序并不是一成不变的线性顺序,步骤之间可以往返,理解之后可以再去获取, 拓展之后可以不经过纠错直接去运用。&/p&&br&&p&&b&&u&**找出薄弱环节&/u&&/b&&/p&&br&&br&&p&&b&薄弱环节在获取阶段&/b&&/p&&p&
获取的问题主要表现为下面两种: &/p&&p&1 阅读和听讲速度慢 &/p&&p&2 需要反复阅读 &/p&&p&原因有以下几点: &/p&&p&1 阅读/学习习惯不好。容易分心,不能持久阅读,没有掌握阅读方法。&b&导致你阅读花费的时间长或者一个材料要反复阅读几遍&/b&。 &/p&&br&&p&2 不好的记笔记习惯。记得太多会没有时间思考。&/p&&br&&p&3 不理解基本名词和语法。&b&假如对所学专业的基本概念都不清楚,那么读书也是一头雾水,毫无所获。&/b&&/p&&br&&p&解决获取缺陷的方法是养成良好的学习、阅读和记笔记的习惯。&b&获取并不是学习中最重要的阶段,所以如果你在获取方面表现不够完美也不用担心。 &/b&&/p&&br&&p&&b&薄弱环节出在理解阶段&/b&&/p&&br&&p&
理解不好的表现如下: &/p&&p&1 你虽然在读书,但是不知道作者到底说的是什么。 &/p&&p&2 笔记记得很清晰,完美,但是你却不明白什么意思。 &/p&&p&&b&&u&要明白字面上的意思并不需要什么魔法,我的建议是如果理解有困难,不如寻找写得更好,解释更清楚的材料阅读,而高级技术如比喻法或内在化只有在基本的理解(也就是字面上的意思搞清楚了)达到后才能发挥作用。&/u&&/b&&/p&&br&&p&&b&即使你觉得无法理解一段话,也不必太忧虑。我发现,这很少成为主要的问题。遇到不能理解的问题时,你可以放慢阅读速度,寻找不同的说法。一般我遇到新概念新思想时,在完全理解前总会耽误很长时间,我的强项在于一旦有了点初步的理解,我就能迅速抓住它,并且快速地让其成长,因此我能轻松地运用它。&/b&&/p&&br&&p&&b&薄弱出在运用阶段&/b&&/p&&br&&p&该阶段的问题:理论却得不到实际的运用。唯一办法就是更多的实践,抛开书本,走出去,去做实验,去接触生活,去融入社会。 &/p&&br&&br&&p&&b&信息结构&/b&&/p&&p&五种信息类型: &/p&&p&&u&随意信息&/u&
第一目标就是:假如存在某种逻辑关系,那么尽量去发现它。随意信息理解不费劲,但如果没有更好的方法即便学霸&b&也只能机械记忆&/b&,否则容易遗忘。&/p&&br&&p&&u&观点信息&/u&
存在争论的信息。你需要检查大量的信息以寻找其中的模式,而不是去记忆具体的细节。速度对于收集信息非常重要。 &/p&&br&&p&&u&过程信息&/u&
讲述一系列动作、操作的信息。学习这类信息最重要的是&b&不断练习、重复动作&/b&。 &/p&&br&&p&&u&具体信息&/u&
可观察、听到、触到的信息。&/p&&br&&p&&u&抽象信息&/u&
缺少与感官的直接联系。非常难以理解,但是&b&逻辑性很强&/b&;随意信息则非常浅显,但是逻辑性很差。
你需要将之移到具体的层次。整体学习者一般会抛弃课程中的随意信息,愿意尝试去理解复杂的知识。对于抽象信息来说,假如你感到理解困难,&b&可以降低接受信息的速度&/b&,将前面的信息深入地探究。这种知识的特点是一环接着一环,所以打好基础至关重要。 &/p&&br&&p&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++   &/p&&br&&p&&b&***整体性学习技术 (具体技术)&/b&&/p&&p&&b&&u&***获取知识&/u&&/b&&/p&&p&&b& 快速阅读(需要反复练习才能达到)&/b&&/p&&br&&br&&p&&b&&u&1.指读法&/u&&/b&&/p&&p&使用手指会让你的眼睛停留在阅读的地方,这样简单的方法能够帮助你提高阅读速度。
&/p&&p&使用指读法的开始两周可能会感到不适应,不过一旦你&b&适应&/b&了以后,食指划过书本也很自然,手指提供的控制和聚焦会大幅度提高阅读速度。 &/p&&br&&p&&u&&b&2.练习阅读法&/b&&/u&&/p&&p&当你练习阅读时,你的目的并不是吸收阅读的内容,练习阅读的唯一目的是训练自己以尽快的速度&b&理解&/b&所读内容。&b&比如,你可以阅读一本书。每3分钟一个标记,之后加快速度;比如,先阅读3分钟,然后尽可能的写下要点。后者是针对提高理解力的。&/b&&/p&&br&&p&&u&&b&3.积极阅读法&/b&&/u&&/p&&p&积极阅读强调深入的理解材料,自然降低了阅读速度。开始积极阅读时,准备好要读得书和笔记本,在笔记本上写下每章的标题和亚标题,每读完一小部分时(指读法),在笔记本上记一些笔记: &/p&&p&1)这一节中主要点是什么? ——获取完整信息&/p&&p&2)我怎样才能记住主要点? ——对信息进行联系、比喻法&/p&&p&3)我要怎样将主要点拓展开以及应用它?——运用&/p&&p&&b&如果你对教科书里面的每一个知识点都如此,你一定天下无敌。&/b&不必对每个知识点进行完整的积极阅读,只针对自己需要理解和记忆困难的那些内容。 &/p&&br&&p&&b&笔记流&/b&&/p&&p&我一直信奉“&b&一次学会&/b&”的学习原则。你在学习时要全神贯注地听老师讲课, 而不是 忙着做细致漂亮的笔记,等到课下再学。记笔记是为了更好地理解所学内容,不要忘记这个目的。 使用笔记流时,首先写下最主要的观点,尽 量用&b&很短的单词&/b&来替换完整的句子。  &/p&&br&&p&一旦你写下了一个观点,下一步就是在这个观点(或信息)和其他观点之间划上一些&b&箭头,&/b&观点呈现出&b&相互关联&/b&的关系,观点连在一张网中。&/p&&br&&p&&b&比喻法&/b&&/p&&p&找出比喻的步骤: &/p&&p&1)确定你要深入理解和记忆信息。&/p&&p&2)在你的个人经验中寻找与信息部分相似的东西,要达到完全符合一般不太可能,所以与其寻找一个完全符合的东西,不如稍作让步,找到十几个部分符合的“不完美比喻”。 &/p&&p&3)重复上述过程,检查比喻不恰当的地方。 &/p&&br&&p&运用比喻法的技巧: &/p&&p&1 要有寻找比喻的欲望
除非你不断地&b&问&/b&自己什么样的比喻才能很好地描述要学的知识,否则你什么也得不到。 &/p&&p&2 注意第一个出现在脑海中的&b&念头&/b&&/p&&p&3 优化和测试你的比喻
你经常会碰到找到的比喻只是部分符合你要学的知识。我建议你再找几个不同角度的比喻,这样做不仅会减少理解上的错误,而且会创造广泛的联系,从而改善结构的质量。 &/p&&br&&p&&b&内在化&/b&&/p&&p&怎样进行内在化: &/p&&p&1 明确你要内在化的概念。&/p&&p&2 从建立脑海中的图像开始。要让图像动起来,就仿佛在看一部电影一样。 &/p&&p&3 现在开始加上其他感官, 加入更多的感觉或情感。 &/p&&p&4 重复和优化图像,直到你一想到它就能很快回忆起知识。 &/p&&br&&p&&b&
流简图&/b&&/p&&p&从一个简单的元素开始,然后在这个成分及与之相联系的不同知识之间画出&b&联系箭头&/b&。 &/p&&p&以简图为基础的流适用于: &/p&&p&1 绘制&b&一系列的步骤(有先后顺序)&/b&&/p&&p&2 绘制历史事件,创造分支将事件联系在一起,不仅通过事件之间的因果关系,而且根据事件的发生时间来建立联系。 &/p&&p&3 绘出一个系统&/p&&br&&p&&b&概念图&/b&&/p&&p&是观点之间的&b&内在关系&/b&,在不同观点之间画上箭头,箭头上还需要加上一些简单的话语,说明二者是什么样的关系。 &/p&&br&&p&&b&&u&***随意信息的处理&/u&&/b&&/p&&p&&b&联想法&/b&&/p&&p&目的是将一系列观点串在一起,就像&b&链条&/b&。一旦你进入链条中的一环,就可以轻易地到达链条中的其他环节。 &/p&&br&&p&步骤: &/p&&p&1 创造顺序。 &/p&&p&2 给每一项设一个符号。设计的符号要能迅速让你联想到原始的知识,因为联想法记住的是&b&视觉符号&/b&,而不是抽象信息本身。&b&除非你确信能从视觉符号想到原始知识,否则不要使用联想法。&/b&&/p&&p&3 创建属于自己的联想。创造生动夸张的图像,能将序列中的两个符号联系在一起。 &/p&&br&&p&联想法的难点: &/p&&p&1.符号重复——给同样的符号加上不同的颜色。 &/p&&p&2.断裂的联系——建议&b&联想链&/b&最好不要太长,建议5-15 个为好。&/p&&p&3.难以辨认的符号——符号最好清晰简明,容易记住。 &/p&&p&4.触发物丢失——你可能需要增加一个联想,一个列表中第一项和&b&触发物&/b&之间的联想。 &/p&&br&&p&&b&&u&***信息压缩&/u&&/b&&/p&&p&目标是减少信息的容量,寻找信息的逻辑关系。 &/p&&p&&u&1.记忆术&/u&&/p&&p&用一个短语或单词来&b&储存&/b&数个信息的方法。
&/p&&p&&u&2.图像联系&/u&
是把几个信息联系起来并且用一张&b&简图&/b&来表示。
&u&3.笔记压缩&/u&
笔记压缩对于快速掌握大量材料是一个有用的办法。&/p&&p&步骤:
1) 拿几张空白纸。准备好要压缩的笔记,这个练习可能会花费一两小时,要确信你有时间。
2) 用&b&最小&/b&的字,写下笔记中的&b&主要观点&/b&。使用尽量&b&少&/b&的字。
3) 接着写下与之相联系的观点,公式,概念或定义。
4) 持续上述自由写下观点的过程,直到将笔记中的每一个主要观点都写了下来为止,最后你得到&b&大约1-3 张密密麻麻写满信息的纸&/b&。
5)加工、修饰得更有条理,更好看一些。
&b&&u&***实际应用&/u&&/b&
接下来的两个月,每周抽一点时间,看看学到的知识如何运用到自己的实际生活中去。&b&花5~10分钟罗列各种可能运用到的地方,确保有20个用处,不要嘲笑那些看起来可笑的想法,尽可能写下去。如果有可能,付诸实践。
&/b& &b&&u&***模型纠错&/u&&/b&&/p&&p&通过:不断练习和实践,发现问题。&b&花数小时重复解决相似的问题与死记硬背没有什么不同。 &/b&&/p&&br&&p&&u&以项目为基础的学习&/u&&/p&&p&设定一个需要&b&1-3 个月&/b&完成的目标,完成了目标也就达到了学习的效果。 1~3个月的项目可能会使你产生畏惧情绪,但是假如你对项目兴趣浓厚,我相信这是快速学习的最好方式。&/p&&p&例子:&/p&&p&&b&
编程&/b&——设计一个大概需要1~3个月完成的项目,比如一个小的运用程序,建立一个网站,写一个小的游戏。&/p&&p&&b&
历史&/b&——关于你正在学习的某个历史问题写一篇探讨性的文章。&/p&&p&&b&
财务报表&/b&——选择几家你打算投资的公司,对他们的财务报表做一个详细的分析。&/p&&p&
还比如电子书、发明、服装设计、写博客等&/p&&br&&br&&p&
我的建议:&/p&&p&1 从小项目开始
&b&一个好的项目会提升你的层次&/b&,但是太大的,看起来遥遥无期的项目会动摇你的信心。所以,如果你的目标仅仅是学习,还是设定一些需要花费&b&1-3 个月的项目为佳&/b&。 &/p&&p&2 记录下来
将完成项目的过程记录在纸上,翻阅前面的记录会加强你的自信心。&/p&&p&3 创造一个有意义的目标
有一个清晰的目标,学习才更为主动。假如项目不仅是为了学习而设立的,项&b&目本身具有的意义会激发你的热情&/b&,为着目标而持续地努力工作,不断学习。 &/p&&br&&p&&b&费曼技巧:用通俗的语言向别人讲述复杂的知识,直到对方真的搞懂。如果你在翻阅教科书的时候就能用自己的话把观点解释清楚,那么就意味着你真正的理解了该观点。&a href=&http://www.zhihu.com/question/& class=&internal&&号称终极快速学习法的费曼技巧,究竟是什么样的学习方法? - 自我提升&/a&&/b&&/p&&br&&p&文很长,有人私信我来给大家振奋一下精神。我想了半天。&/p&&figure&&img src=&https://pic4.zhimg.com/50/cdb634eb05de3c720d75_b.jpg& data-rawwidth=&600& data-rawheight=&450& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic4.zhimg.com/50/cdb634eb05de3c720d75_r.jpg&&&/figure&&br&&p&坚决不放黄图(侵删)&/p&&p&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&/p&&br&&p&&b&&u&****超越整体性学习&/u&&/b&&/p&&p&高效率学生的秘籍 &/p&&p&&u&&b&秘籍1:能量的管理&/b&&/u&&/p&&blockquote&&u&记住一句话:energy, not time, is the most
precious resource of our life. 这句话说中了我之前一直有的模模糊糊的感受,我总觉得有时候时间利用率高,有时候低,但这句话却一语中的——&b&我们是靠热情在做事,而不是时间本身&/b&。做一件,花的其实是我们的能量,而不是时间!
&/u&&/blockquote&&p&良好的能量管理有两步: &/p&&p&&b&1.增加你的能量储备&/b&&/p&&p&
1 每周有3-5 次运动吗? 如果回答为否,&b&你正在削弱你的潜在能量水平&/b&。每天运动一点点,学习效果更明显。&/p&&p&2 每晚有七八小时的睡眠。&/p&&p&3 你吃粗纤维和粗加工的食物 。&/p&&p&4) 一天之内,你喝几杯水?最快让你丧失能量的办法就是脱&b&水&/b&。 &/p&&p&5)少吃多餐,&b&一天吃四五餐,每次吃七分饱&/b&。 睡前吃一点能让你第二天精力充沛。&/p&&br&&p&&b&2.将你的日程表由线性的改为循环式的。&/b&&/p&&p&&u&循环式作息&/u&
线性的计划是平均安排时间执行工作,而循环式作息安排则先&b&集中小部分时间做大部分工作。&/b&&/p&&p&建议 &/p&&p&1 一周休息一天。 &/p&&p&2 晚上不干活。&b&将一天的工作放在早上集中完成,早早完成工作,晚上你就有几小时的空闲了。&/b&&/p&&p&3 设定90 分钟。给定自己90 分钟,集中精力完成某个学习任务,一旦90 分钟结束,停止工作。90分钟的时间设定能让你学习时注意力更集中。 &/p&&br&&p&推荐书目:《the_power of full
engagement 》(《精力管理:管理精力,而非时间;是高效、健康和快乐的基础》)&/p&&br&&p&&b&&u&秘籍2:不要“学习”&/u&&/b&&/p&&p&
不用“学习”(学习就好像整个食物的咀嚼、消化、吸收的过程,它不是表面上吃的动作/人们不可能永远吃个不停)。这个词给大多数学生增加了太多的精神压力。他们认为如果不能一直呆在图书馆、坐在书桌前沉思苦读,就会有负罪感。&/p&&p&
学习的过程也意味着一系列的具体动作,比如阅读、作业、记笔记、比喻、写文章、写日记、练习、科研等,&b&任何一步都要深入下去,寻根问底&/b&。&/p&&br&&p&&u&&b&秘籍3:绝不拖延&/b&&/u&&/p&&p&办法很简单: &/p&&p&1 在每周周末,列一个清单,包括所有的任务、作业以及你想在下周完成的读书和学习活动。 &/p&&p&2 在每天晚上,检查你周计划,列出每日目标清单。 &/p&&p&3 下一步是将每周的工作分配到每一天,你要确保完成每日的工作清单,但是不必超过它。 &/p&&br&&p&&b&&u&秘籍4:批量作业&/u&&/b&&/p&&p&
批量作业的意思就是&b&将那些类似的、散在的工作集中起来一次做完&/b&。&/p&&p&1
&b&最适用于将那些需要时间不长的零散工作放在一起做&/b&。超过3个小时的工作用批量作业法,效果就不好了。 &/p&&p&2
一次性完成作业
&u&&b&如果一项作业花费的时间不会超过8 小时,我就坐在凳子上不挪窝,一鼓作气完成它。将一个花3 小时就可以写完的文章,分成15 次零散时间内完成,肯定会浪费很多时间,每一次都要花时间重新鼓起写作的激情才能开始正式的写作。  &/b&&/u&&/p&&p&3
提高注意力阈值
注意力阈值就是指集中完成某项工作的最长时间。通过不断接受越来越多的批量作业,你可以逐渐提高你的注意力阈值,阈值越高,表示能一次完成的工作量也越大。 &/p&&br&&p&推荐:《批量作业:节省时间、减轻压力的20 个小技巧》 &/p&&br&&p&&b&&u&秘籍5:有组织&/u&&/b&&/p&&p&有组织的关键步骤:&/p&&p&1 &b& 所有的物品都放在固定的位置&/b&。&/p&&p&2
随身携带一个&b&记事本&/b&。每天随时记录,日积月累,必有所获。 &/p&&p&3
坚持日历和做事清单。应用做事清单记录任务和目标,使用日历来记录要做的事和截止日期。 &/p&&br&&p&&b&&u&*****自我教育&/u&&/b&&/p&&p&我发现积极进行自我教育能提高你的学习能力。&b&闲暇时间能专心研究&/b&一门让你感兴趣的课程,本身就是一种莫大的奖赏。不过,自我教育没有学校这种组织,难以找出重点、提供足够资源和检测你的学习效果。&/p&&p&我的大多数自我教育都是采取以&b&项目为基础&/b&的学习方式,建立良好的习惯、克服种种学习障碍以及设立适当的学习目标也同样大有裨益。
&/p&&br&&p&
在他的网站上面我还发现这个:&b&&u&自我教育的 70% 原则&/u&&/b&
在继续深入学习某个知识之前,我会设法达到70%的明白程度与记忆程度。就算我漏掉了30%的信息,但我能更迅速的回想起来。
采用这样的方式,理由是&u&学习剩余的20%的知识和开始学习80%的知识,所用的努力是一样的&/u&。通过深入探究,你能保证你一直都将你的努力集中在&b&真正有关系&/b&的地方,而不是科目的那些琐碎的细节上。
精熟某些知识达到70%的水平,然后潜得更深,并了解这个知识的外围。这里有一些例子:&/p&&blockquote&&b&*熟悉一个方程到70%的程度,然后去运用。
*学习一个哲学命题到70%的程度,然后尝试去解释其中的辩论。
*明白一个管理理论到70%的程度,然后阅览它的应用情况。
*记下一个新语言中的70%的单词,然后在对话中练习它。
如果你用这种方法来学习,你可以更早的构建知识的连结点。而不是等到你有点印象之后才开始将知识关联起来,你可以在探索中立马开始。这样可以减少你的记忆量,帮助你更快的学习。&/b&&/blockquote&&a href=&//link.zhihu.com/?target=http%3A//www.baidu.com/link%3Furl%3DWSqTGt6418UIbVIkUklfrOH51ePuJur_ercaT3QQlaphAq__LHGWrk-URi09NeY1sVWPtKvkq6iC-R367zg42q04FoGsCY3WLBE1Yrw5YDC1_RufLsbpMT-2b7aCtoAoe3Kml85Bet5xWrqCGX5HAuW4nAHQQQwTw0e-VqUhaJ45yfsYiBw2IWzfQFMiWK_HOLXPIxbZK_w2oD2VIRbfI6zdEWWlpfZ_wY3AUmP7I-y%26wd%3D%26eqid%3Df35639e2cf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://www.baidu.com/link?url=WSqTGt6418UIbVIkUklfrOH51ePuJur_ercaT3QQlaphAq__LHGWrk-URi09NeY1sVWPtKvkq6iC-R367zg42q04FoGsCY3WLBE1Yrw5YDC1_RufLsbpMT-2b7aCtoAoe3Kml85Bet5xWrqCGX5HAuW4nAHQQQwTw0e-VqUhaJ45yfsYiBw2IWzfQFMiWK_HOLXPIxbZK_w2oD2VIRbfI6zdEWWlpfZ_wY3AUmP7I-y&wd=&eqid=f35639e2cf&/a&&br&&p&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&/p&&br&&p&&b&&u&*****建立良好的学习习惯&/u&&/b&
提高你学习能力的良好习惯:
&u&1 每日阅读&/u&
每天坚持阅读是提高你的理解能力最好的途径之一,我坚持每周至少阅读一本书,每年至少50-70 本。书籍不能教会你全部事情,但是它会给你打下坚实的知识基础。阅读量的增加,你的视野就越开阔,看问题的角度就越广泛。
&u&2 每日练习&/u&
通过每天完成项目的工作以及&b&##学习技能的练习##&/b&,你会提高自己对书本知识的理解,练习能为你的学习提供一个结构,因为练习会对你最初的能力水平予以定位。
&u&3 每日目标&/u& &u&单纯的阅读和练习并不够,因为它们目的性不强&/u&。通过设置学习的目标,并把目标细分为每天要完成的工作。
怎样养成每日习惯:
1 坚持某个习惯&b&30 天&/b&。 比如每天阅读40页坚持一个月,每天设计编程一个小时。
2 坚持下去。每天坚持以&b&同样的方式&/b&完成同样的习惯,今天阅读,明天听讲,后天练习的方式对于养成习惯来说太脱节了。
3 享受这个习惯。
4 寻找特殊时段。我喜欢晨读,因为这段时间我可以不受打扰。找到属于你的每天特殊时段有助于强化你的习惯。
推荐:《习惯的掌握》《如何改变一个习惯》
&u&&b&*****克服挫折障碍&/b&&/u&
自我教育需要比上课更多的耐心,同时我也发现上课通常如缓慢步行的老者,&b&自我教育则可以快步如飞。&/b&
减少挫折障碍的小技巧:
1 写下任何障碍。详细地记下障碍让我们对问题的思考更为容易。
2 利用网络寻找答案。
3 找一本关于“怎么做”的工具书。有一些书不谈理论,专门告诉你“怎么做”,这对于打算做什么事情是非常有价值的。
&b&&u&设置学习目标&/u&&/b&
设定学习目标的一些技巧:
所有的目标都要&b&写下&/b&来。用一两个句子写下目标,并给它一个截止期限。
让目标客观化。在学习的过程中,你要能很容易地就判断出是否已经达到了目标。所谓的“学得更多”不是学习目标,因为它不客观。
设定有些困难,但是努把力也可以达到的截止期限。期限定的太松,就起不到促使你行动的作用,如果期限定的太紧,会让你丧失信心,灰心丧气。
将目标的完成转化为每日和每周的具体行动。一个今天就需要立即完成的小目标远比几个月后的大目标更让人坐立不安,&b&焦急万分&/b&。
经常看看你的目标。至少一周&b&检查&/b&一次目标完成的情况。
推荐:《设定目标的九个步骤》
我收集的一些关于自我教育的网上资源:
OpenCourseWare----MIT 提供的网上免费课程。
EHow.com----关于“怎样做”的各种文章。
FreeEd.net--“网上免费教育” 。
Portal to Free Online
Courses---很多名牌大学在线课程的入口。&/p&&p&现在就开始吧。&/p&&p&高效率网址:
&a href=&//link.zhihu.com/?target=http%3A//ScottHYoung.com& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&ScottHYoung.com&/span&&span class=&invisible&&&/span&&/a&
我个人的网站,专门讨论高效率、学习方法和习惯养成。
&a href=&//link.zhihu.com/?target=http%3A//ZenHabits.net& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&ZenHabits.net&/span&&span class=&invisible&&&/span&&/a&
简单就是高效率。
&a href=&//link.zhihu.com/?target=http%3A//Lifehack.org& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&Lifehack.org&/span&&span class=&invisible&&&/span&&/a&
最大的高效率网站之一。&/p&&p&
&a href=&//link.zhihu.com/?target=http%3A//PickTheBrain.com& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&PickTheBrain.com&/span&&span class=&invisible&&&/span&&/a&
高效率和动机。 &/p&&p&StudyHacks
高效率的学生。 &/p&&p&&a href=&//link.zhihu.com/?target=http%3A//StevePavlina.com& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&StevePavlina.com&/span&&span class=&invisible&&&/span&&/a&
个人发展网站。&/p&&p&高效率书籍: &/p&&p&Getting Things Done
(David Allen的经典) &/p&&p&The Power of Full Engagement
(能量管理) &/p&&p&Zen To Done (讲述如何做事,强调的是慢慢养成良好的习惯) &/p&&p&How to Be a Straight-A
Student & How to Win at College (两本经典之作,帮助你变得高效率,应付各种学习上的挑战,必读之作) &/p&&p&   玩。&/p&&p&++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&/p&&br&&p&另外,我把他在TED的演讲整理了一下:&/p&&p&&b&钻研(The Drilldown Method):你学得更快&/b&&/p&&p&&b&第一阶段:知识面覆盖&/b&&/p&&br&&p&&u&你不可能组织一场进攻,如果你连一张地形图都没有。深入研习的第一步,就是对你需要学习的内容有个&b&大致印象&/b&。若在课堂上,这意味着你要看讲义或读课本;若是自学,你可能要多读几本同主题的书,相互考证。&b&学生们常犯的一个错误,就是认为这个阶段是最重要的&/b&。从很多方面来讲,这个阶段却是&b&效率最低&/b&的,因为你每单位时间的投入只换来了最少量的知识回报。&b&我常常加速完成这个阶段,很有好处,这样,我就可以投入更多时间到后面两个阶段。&/b&&/u&&/p&&p&如果你在看课程讲座的视频,最好是调到&b&1.5x或2x倍速快进&/b&。这很容易做到,只要你下载好视频,然后使用播放器的“调速”功能。&u&我用这法子两天内看完了一学期的课程视频&/u&。如果你在读一本书,我建议你不要花时间去高亮文本。这样只会让你的知识&b&理解停留在低层次&/b&,而从长远来看,也使学习效率低下。更好的方法是,阅读时只偶尔做做笔记,或在读过每个主要章节后写一段落的总结。 &/p&&br&&p&&a href=&//link.zhihu.com/?target=http%3A//www.scotthyoung.com/mit/machine-vision-notes.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&这里&/a&有个例子,是我上机器视觉这门课时的笔记。 &/p&&br&&br&&p&&b&第二阶段:练习&/b&&/p&&p&做练习题,能极大地促进你的知识理解。但是,如果你不小心,可能会落入&b&两个效率陷阱&/b&: &/p&&ol&&li&没有获得&b&即时的反馈&/b&:做题时最好是&b&答案在手&/b&,天下我有,每做完一题就对答案,自我审查。没有反馈或反馈迟来的练习,只会严重牵制学习效率;&/li&&li&题海战术:一些学生认为大多数的知识理解产自练习题。是的,你总能通过题海战术最终搭起知识框架,但过程缓慢、效率低下。 &/li&&/ol&&p&练习题,应该能凸显你需要建立更好直觉的知识领域。一些技巧,比如我将会谈到的费曼技巧(the Feynman technique),对此则相当有效。&b&对于非技术类学科,它更多的是要求你掌握概念而不是解决问题&/b&,所以,你常常只需要完成最少量的习题。对这些科目,你最好花更多的时间在第三阶段,形成学科的洞察力。 &/p&&br&&p&&b&第三阶段:自省&/b&&/p&&p&知识面覆盖,与做练习题,是为了让你知道你还有什么不懂。 接下来的技巧,称之为“费曼技巧”。&/p&&br&&p&&b&费曼技巧(The Feynman Technique)&/b&&/p&&p&这个技巧的灵感,源于诺贝尔物理奖获得者,理查德·费曼(Richard Feynman)。在他的&a href=&//link.zhihu.com/?target=http%3A//www.amazon.com/Surely-Feynman-Adventures-Curious-Character/dp//ref%3Dsr_1_1%3Fie%3DUTF8%26qid%3D%26sr%3D8-1%26keywords%3Dsurely%2Byou%2Bmust%2Bbe%2Bjoking& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&自传&/a&里,他提到曾纠结于某篇艰深的研究论文。&u&他的办法是,仔细审阅这篇论文的辅助材料(supporting material),直到他掌握了相关的知识基础、足以理解其中的艰深想法为止。&/u&&/p&&p&对付一个知识枝节繁杂如发丝、富有内涵的想法,应该分而化之,切成小知识块,再逐个对付,你最终能填补所有的知识缺口,否则,这些缺口将阻挠你理解这个想法。对此,&a href=&//link.zhihu.com/?target=http%3A//youtu.be/FrNqSLPaZLc%3Ft%3D1m17s& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&请看这个简短的教程视频&/a&。 &/p&&p&费曼技巧很简单: &/p&&br&&ol&&li&拿张白纸; &/li&&li&在白纸顶部写上你想理解的某想法或某过程; &/li&&li&用你自己的话解释它,就像你在教给别人这个想法。 &/li&&/ol&&p&最要紧的是,对一个想法分而化之,虽然可能重复解释某些已经弄懂的知识点。&u&但你最终会到达一个临界点,无法再解释清楚。那里正是你需要填补的知识缺口。&/u&为了填补这个缺口,你可以查课本、问老师、或到互联网搜寻答案。通常来说,&b&一旦你精准地定义了你的不解或误解,找到确切的答案则相对而言更轻松。&/b&&/p&&br&&br&&p&我已经使用过这个费曼技巧有数百次,确信它能应付各种各样的学习情境。如下:&/p&&br&&ul&&li&&b&对付你完全摸不着头脑的概念&/b&&/li&&/ul&&br&&p&对此,我仍坚持使用费曼技巧,但翻开课本,找到解释这个概念的章节。我先浏览一遍作者的解释,然后仔细地摹仿它,并也试着用自己的思维详述和阐明它。如此一来,当你不能用自己的话写下任何解释时,“引导式”费曼技巧很有用处。&a href=&//link.zhihu.com/?target=http%3A//www.scotthyoung.com/mit/photogrammetry.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&这里&/a&有个例子,展示我如何理解摄影测量学。 &/p&&br&&ul&&li&&b&对付各种过程&/b&&/li&&/ul&&br&&p&你也能通过费曼技巧去了解一个你需要用到的过程。审视所有的步骤,不光解释每一步在干什么,还要清楚它是怎么执行的。我常这样理解数学的证明过程、化学的方程式、与生物学的糖酵解过程。&a href=&//link.zhihu.com/?target=http%3A//www.scotthyoung.com/mit/grid-accel.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&这里&/a&有个例子,展示我如何想到怎么实现网格加速。 &/p&&br&&ul&&li&&b&对付各种公式&/b&&/li&&/ul&&br&&p&公式,应该被理解,而不只是死记硬背。因此,当你看到一个公式,却无法理解它的运作机理时,试着用费曼技巧分而化之。&a href=&//link.zhihu.com/?target=http%3A//www.scotthyoung.com/mit/fourier.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&这里&/a&有个例子,展示我如何理解傅里叶分析方程。 &/p&&br&&ul&&li&&b&对付需要记忆的内容&/b&&/li&&/ul&&br&&p&费曼技巧,也可以帮你自查是否掌握非技术类学科那些博大精深的知识概念。对于某个主题,如果你能顺利应用费曼技巧,而无需参考原始材料(讲义、课本等),就证明你已经理解和记住它。&a href=&//link.zhihu.com/?target=http%3A//www.scotthyoung.com/mit/predatory-pricing.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&这里&/a&有个例子,展示我如何回忆起经济学中的掠夺性定价概念。 &/p&&br&&p&&b&形成更深刻的直觉(Deeper Intuition)&/b&&/p&&br&&p&一个想法的多数直觉,可作以下归类: &/p&&br&&p&&b&类比、可视化、简化&/b&&/p&&p&类比:你理解一个想法,是通过确认它与某个更易理解的想法之间的重要相似点;可视化:抽象概念也常成为有用的直觉,只要我们能在脑海为它们构筑画面,即使这个画面只是一个更大更多样化想法的不完全表达;简化:&b&一位著名的科学家曾说过,如果你不能给你的祖母解释一样东西,说明你还没有完全理解它&/b&。简化是一门艺术,它加强了基础概念与复杂想法之间的思维联系。 &/p&&br&&p&你可以用费曼技巧去激发这些直觉。对于某个想法,一旦你有了大致的理解,下一步就是深入分析,看能不能用以上三种直觉来阐释它。期间,就算是借用已有的意象喻义,也是情有可原的。例如,把复数放到二维空间里理解,很难称得上是新颖的,但它能让你很好地可视化这个概念,让概念在脑海中构图成型。DNA复制,被想象成拉开一条单向拉链,这也不是一个完美的类比,但只要你心里清楚其中的异同,它会变得有用。 &/p&&br&&p&&b&学得更快的策略&/b&&/p&&br&&p&在这篇文章里,我描述了学习的三个阶段:知识面、练习、与自省。但这可能让你误解,错以为它们总在不同的时期被各自执行,从不重叠或反复。实际上,随着不断地深入理解知识,你可能会周而复始地经历这些阶段。你刚开始读一个章节,只能有个大概的肤浅印象,但做过练习题和建立了直觉以后,你再回过来重新阅读,又会有更深刻的理解,即温故而知新。 &/p&&br&&p&&b&钻研吧,即便你不是学生&/b&&/p&&br&&p&这个过程不只是适用于学生,也同样有助于学习复杂技能或积累某话题的专业知识。学习像编程或设计的技能,大多数人遵循前两个阶段。他们阅读一本相关的基础书籍,然后在一个项目里历练。然而,你能运用费曼技巧更进一步,更好地锁定与清晰表述你的深刻见解。积累某话题的专业知识,亦同此理;唯一的差别是,你在建立知识面以前,需要搜集一些学习材料,包括相关的研究文章、书籍等。无论如何,只要你弄清楚了想掌握的知识领域,你就钻研下去,深入学习它。&/p&&br&&br&&p&&b&努力上到最顶端,才能去领略风景&/b&。&/p&&p&&b&少年,尽情的去学习吧!!!!!!!!!!!&/b&&/p&&br&&p&&b&以下是我的值得一看的答案:&/b&&/p&&p&&b&1.&/b&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&怎么背书最有效率? - 知乎&/a&&/p&&p&2.&/p&&a href=&https://www.zhihu.com/question//answer/& class=&internal&&如何成为记忆高手? - 知乎&/a&&p&3.&/p&&a href=&http://www.zhihu.com/question//answer/& class=&internal&&应届大学毕业生面试中有哪些“黑技巧”可以提高面试成功几率? - 白诗诗的回答&/a&&p&4.&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&我所依赖的记忆方法 - 知乎专栏&/a&&/p&&p&5.&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&给高中小朋友的一些学习方法 - 知乎专栏&/a&&/p&&p&6.&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&那我就靠这篇文章卖钱了 - 知乎专栏&/a&&/p&&p&&b&好吧,只贴几个&/b&&/p&
学更多更多的知识,做更多更多的事情。12个月之内,自学完成了传说中的的全部33门课,从线性代数到计算理论。按照他的进度,读完一门课程大概只需要1.5个星期。这是我见过的大学生里在学习方面活得最充实的人。…
&p&&b&不要陪女生逛街。&/b&&/p&&p&&b&不要陪女生逛街。&/b&&/p&&p&&b&不要陪女生逛街。&/b&&/p&&br&&p&真的,男生们,不要高看你们的自制能力,逛累了之后你们很难控制自己的到底是在表达爱意,还是只剩下强忍住却依然满溢的不耐烦。&/p&&br&&p&当然,你肯定会有不想拒绝不能拒绝的时候。那么,请看要如何避开各种雷区。&/p&&br&&p&逛街几乎是我最大的业余爱好,但是我禁止男生陪我逛街,GAY也不行,真是惨痛的教训。因为大多数男生,都会在逛街时出现以下让我心情变烂的点。&/p&&br&&ul&&li&&b&意见很多很强烈。&/b&&/li&&/ul&&p&男女生审美有别,孰高孰低,咳咳,尤其是广大直男,我忍住不说啊你们自己体会一下。&/p&&br&&p&在逛街的时候,一部分参与度很好的男生们,会提出非常直接而强硬的意见,例如:这件买吧!你穿很好看!我喜欢女生穿大红的裙子!我觉得你适合这个!又及:这件不要买!不好看!快去换下来!&/p&&br&&p&这种参与精神和热情是值得鼓励的,但是行为非常不可取。只要你平时没有觉得这个女生的穿衣打扮非常碍眼,那就尊重她的意见和选择吧,毕竟大多数女生花在打扮自己上的时间和精力都比你要多得多,她要更了解自己得多。&/p&&br&&p&&b&所以正确的做法是,在她问你好看吗的时候,再提出温和中性的意见,比如 “挺好的”,“很衬你皮肤”,跑偏也没关系 “哇你最近是不是瘦了?”,确实觉得不好看的话 “不错,再试试别的再回来看?”&/b&&/p&&br&&ul&&li&&b&饭点闹钟&/b&&/li&&/ul&&p&和男生逛街的时候,一到中午十二点半左右,下午五点半左右,耳边就会响起:“我们先找个地方吃饭吧,我饿了。” &/p&&br&&p&但女生通常心里会有个路线,想着把这些逛完,去吃饭,然后再完成接下来的安排。此时被拖去吃饭,心理上就会感觉,待会还要再来逛完这些,是一件绕路、浪费时间和精力的事。&/p&&br&&p&这个时候,男女生就会出现矛盾,一起商量计划一下算是比较好的,更多时候,男生天然自带饭点烦躁系统,女生天然自带被打乱计划烦躁系统,两个人就会吵起来。&/p&&br&&p&&b&正确的做法是,出门逛街前在包里带个苹果或者士力架之类,到了想吃饭却还没逛完的时候,先吃上一点。真的,男生们,你们在饭点时的烦躁情绪是可以被一点点热量补充瞬间安抚的。同时轻描淡写的说一句:“你什么时候饿了我们就去吃饭。”多温柔啊&/b&。 &/p&&br&&ul&&li&&b&不知道什么时候该买或鼓励买&/b&&/li&&/ul&&p&很多女生都是天然的选择困难,同时大多数女生(认真对待你,而不是认真对待你钱包的)都是天然会省钱。对于女生稍稍表示一点点喜欢和纠结,就立刻掏出卡说 “买买买” 偶尔为之是帅气,长年累月会给女生不安全感,感情上的不亲近感甚至是烦躁。很多时候,女生纠结不是因为差钱,只是不想浪费钱。&/p&&br&&p&&b&此时的正确做法是,面对一样东西纠结要不要买,你可以认真分享你关于这件物品性价比的看法,诚恳提出建议;在两样东西中纠结选择,你就真诚的选出你比较喜欢的,但是话不要说太满,当你发现听了你的答案之后她还是倾向于另一件,你就可以放心拐回来鼓励她买另一件了&/b&。&/p&&br&&p&女生自己买单的情况,你的意见就不要提太多。两件都要了你偶尔为之买单耍帅很好,但一般鼓励姑娘两件都自己买回去并不是好选择。&/p&&br&&p&另外,我觉得,即使是女友甚至爱人也不要一直帮她买单,因为从女生角度来说,偶尔收到感觉是礼物,每次都花你的钱就像是包养,没意思了。&/p&&br&&ul&&li&&b&完全不参与或参与度极低&/b&&/li&&/ul&&p&经常看到很多男生在陪女生逛街途中一直在玩手机,头也不抬,甚至蹲在每家店门口等着女生出来。这是何苦一起来逛街啊!&/p&&br&&p&其实,逛街是一个很好的培养感情机会,女生逛街的时候通常不能聊太过脑子的事,你可以主动让她说说办公室的烦心事,朋友圈的小八卦。她自然的享受跟你分享的感觉,你又能更加了解她同时不无聊,不是很棒吗?&b&开启话题可以用这句:“你想买什么?噢,打算什么时候穿?”&/b&&/p&&br&&p&或者你们只是把逛街当作例行活动,女生没有购物目标,&b&你也可以提议:“我来选一些衣服让你试,你不提意见,先直接试看看是不是真的适合你。”&/b& 是一个很好的了解对方品味的机会。&/p&&br&&p&实在不喜欢逛街就鼓励她多和女性朋友逛街,并且给予一点经济支持以表心意吧,至少能避免矛盾。&/p&&br&&br&&br&&p&以上内容希望有所帮助,至于我本人,目前依然不能接受任何男生陪逛街。其实还有一点原因,你只要觉得我好看就可以了,至于我身上的衣服是几十还是几千、试错过程如何,都不重要。就像是你看魔术觉得神奇就好了,非揪着问背后玄机,并没什么意思啊。&/p&
不要陪女生逛街。不要陪女生逛街。不要陪女生逛街。 真的,男生们,不要高看你们的自制能力,逛累了之后你们很难控制自己的到底是在表达爱意,还是只剩下强忍住却依然满溢的不耐烦。 当然,你肯定会有不想拒绝不能拒绝的时候。那么,请看要如何避开各种雷区…
可以使用经典的 TT 来测试你的打字速度,注意是包含数字和符号的文章(Menu-&Test-&All key)&br&&figure&&img src=&https://pic3.zhimg.com/50/5cd4a1e981ddbd88bfb83_b.jpg& data-rawwidth=&656& data-rawheight=&438& class=&origin_image zh-lightbox-thumb& width=&656& data-original=&https://pic3.zhimg.com/50/5cd4a1e981ddbd88bfb83_r.jpg&&&/figure&软件很简单,按照箭头指着的位置,快速输入上面的单词即可,输入完会有评分的。&br&&br&TT是比较好的打字练习程序,直到今天,公司内都用作给新人练习打字速度用。不当能测试,还有比较详细的课程,教你从纯单词打起,逐步到数字,标点符号等。&br&&br&我做过一个 DOSBOX版本的 TT (tt.exe 是 DOS下的程序),双击 TT.BAT 即可在 Win7/8 启动&br&&a href=&//link.zhihu.com/?target=http%3A//www.skywind.me/mw/images/e/eb/TT-Dosbox.7z& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&skywind.me/mw/images/e/&/span&&span class=&invisible&&eb/TT-Dosbox.7z&/span&&span class=&ellipsis&&&/span&&/a&&br&&br&我当时用 TT 测试 All Key 的时候,已经写过好多年程序了,自己觉得自己打字不慢,英文可以流利盲打,数字和符号需要看一下,结果 TT 测试下来,打字速度只有 31 WPM ,属于垫底的角色,丢死人了。&br&&br&于是开始用 TT的课程进行练习,每天练习的不多,每天两次,每次15分钟,主要是先打10分钟的课程,然后做5分钟的测验,不能练多,练多了手麻,但是要坚持每天都练习两次左右。一开始纯英文的指法挺简单乏味,觉得没意思,因为我本身可以流利的盲打英文,觉得自己主要是被数字和符号拖累了。但是坚持了一段时间练习纯英文速度后,我发现纯英文速度从 42WPM提高到 55WPM。&br&&br&后来开始继续练习数字和符号,这就比较痛苦了,就是单调乏味的重复练习,这部分手指动作跨度大,即便记得住在哪里,经常手指过去就按错了,但是一旦数字和符号分实现了盲打,整体 WPM的提高是非常大的。&br&&br&TT 有专门练习数字和符号的的课程:&br&&figure&&img src=&https://pic1.zhimg.com/50/6af1c100fd7a_b.jpg& data-rawwidth=&656& data-rawheight=&438& class=&origin_image zh-lightbox-thumb& width=&656& data-original=&https://pic1.zhimg.com/50/6af1c100fd7a_r.jpg&&&/figure&&br&几个星期后,All Key的打字速度 WPM 终于从31 提高到 45 了,通过了打字测验。这时候我回来输入程序,我发现对自己编程帮助确实比较大。以前碰到数字和符号经常要低下头去看在哪里,指法也不标准,比如按shift组合键的时候是比较山寨的打发,现在纠正了一下实现全键盘盲打了,感觉写程序顺畅了很多。&br&&br&很多人觉得程序主要是思考,你思路对了,打字只是小事,经常听到说某某高手打字是二指禅。以前我也这么认为,但是专门抽时间练习了以后,发现真正打字流畅的人,打字的 cpu占用很低,不会因为打错字而影响思考,更不会因为要低下头去看数字符号打断你的思路。&br&&br&到了 45的 WPM 以后,再往下提高就比较难了,经常一个多星期没啥提高,我后来发现我的指速不够,就是即便全部盲打,手指不够熟练,灵巧度不高,再怎么盲打也是白打。因此买了一个机械键盘来专门练习指速。&br&&br&先单纯练习从 A打到 Z,最开始是15秒,慢慢熟练到10秒,最后到5秒。又从最基本的单词开始,不断的重复同一节 TT的课程,同一个动作重复 300次,肌肉就会有记忆,而同一个动作重复600次,脊柱就会有记忆。别人打字要经过大脑,大脑一个字母一个字母,一根手指一根手指的指挥,是比较费脑的,而你打字如果真正进入了脊柱反应的条件反射时代,那么看到一个单词或者一串数字,大脑只需要下一个指令,脊柱这个协处理器就自动完成了,根本不需要过大脑。&br&&br&所以实现全盲打后,又经过一段时间的指速练习,从 45 WPM 不断的提高到 50 WPM,55 WPM,60 WPM 最后到 65WPM (TT的 All Key模式),单纯打英文的速度也从原来的 35 WPM提高到 71 WPM,整整翻了一倍:&br&&figure&&img src=&https://pic2.zhimg.com/50/5e90fb3d8777096edc22f16_b.jpg& data-rawwidth=&644& data-rawheight=&404& class=&origin_image zh-lightbox-thumb& width=&644& data-original=&https://pic2.zhimg.com/50/5e90fb3d8777096edc22f16_r.jpg&&&/figure&&br&虽然 TT 是 DOS 时代的软件了,现在市面上出过很多打字练习软件,但是说道科学性和系统性,还是没有超过 TT的。现在偶尔抽空还是会拿出 tt 来练习一下,就当打游戏。但是自己手指的灵巧度感觉还是不够,可能这是先天的,因为即便我达到了 65 WPM,公司内还是有很多70,75以上的同事打的比我快多了。&br&&br&现在再看到那些诸如某大牛只用二指禅来敲代码的言论,我都会嗤之以鼻了,字都打不好还写啥程序呀?不管有多牛,即便写代码的思路再好,但是手速跟不上,打字还要费大脑的话,还是有所局限的。&br&&br&只有很流畅的打字了,让打字变为一种不经大脑的条件反射,你的注意力才能完全集中在思考你的程序上。我把自己的打字速度从 30 WPM 提高到 65WPM的过程中,对这一点感触是比较深的。因为先天手指笨拙,我好像要比同事们练习的更多才能有他们同样的提高,但是我还是能够感受到提高手速对编程的改变,所以有空我都还是会拿出 TT 来练习一下,全当打游戏了,希望有一天 All Key 的 WPM能上 70。&br&&br&-------------------------&br&PS: TT 下载地址(DosBox版本)&a href=&//link.zhihu.com/?target=http%3A//www.skywind.me/mw/images/e/eb/TT-Dosbox.7z& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&skywind.me/mw/images/e/&/span&&span class=&invisible&&eb/TT-Dosbox.7z&/span&&span class=&ellipsis&&&/span&&/a&&br&整合了 DOSBOX + TT,运行 “TT.BAT& 就可以在 Win7/Win8下启动,运行&TT放大版.BAT&,就可以设置 DOSBOX放大两倍显示(如今高分屏看起以前低分辨率的文字有点累,放大两倍后效果比较好)。&br&&br&Ubuntu / OS X下,先安装 DOSBOX,把上面的 tt 下载下来,再用 ubuntu的 dosbox 启动 tt.exe 即可。&br&&br&-------------------------&br&不要用《金山打字通》:&br&金山打字通测试文章中,符号和数字偏弱,标点就是逗号和句号,比起TT的 All Key (每篇文章至少包含一定数量的电话号码,门牌号码,各种符号)&br&金山打字通测试是:每秒钟敲下多少字母,不是 WPM(每分钟敲下多少个单词),比字母的话,我最快5秒钟可以从 A-&Z,应该是 312字母/分,没啥意义呀。
可以使用经典的 TT 来测试你的打字速度,注意是包含数字和符号的文章(Menu-&Test-&All key) 软件很简单,按照箭头指着的位置,快速输入上面的单词即可,输入完会有评分的。 TT是比较好的打字练习程序,直到今天,公司内都用作给新人练习打字速度用。不当…
&--------- Modified at
start ---------&&br&以下是关于重构的个人书单。&br&两本就够了,别的都大同小异,有兴趣的朋友可以去读读:&br&&a href=&//link.zhihu.com/?target=http%3A//www.amazon.cn/gp/product/B0031M9GHC%3Fkeywords%3D%25E4%25BB%25A3%25E7%25A0%%%25E6%25B4%%25B9%258B%25E9%qid%3D%26ref_%3Dsr_1_1%26sr%3D8-1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&代码整洁之道&/a&&br&&a href=&//link.zhihu.com/?target=http%3A//www.amazon.cn/%25E9%E6%259E%%%25E5%E6%%25E6%259C%%25BB%25A3%25E7%25A0%%259A%%25AE%25BE%25E8%25AE%25A1-%25E9%25A9%25AC%25E4%25B8%%25B7%25E7%25A6%258F%25E5%258B%2592/dp/B011LPUB42/ref%3Dsr_1_1%3Fs%3Dbooks%26ie%3DUTF8%26qid%3D%26sr%3D1-1%26keywords%3D%25E9%E6%259E%E6%%25E5%E6%%25E6%259C%%25BB%25A3%25E7%25A0%%259A%%25AE%25BE%25E8%25AE%25A1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&重构:改善既有代码的设计&/a&&br&&--------- Modified at
end ---------&&br&&br&&--------- Modified at
start ---------&&br&&br&有朋友知道怎么开专栏么?想在知乎找块地专门谈谈代码的那些事儿。&br&&--------- Modified at
end ---------&&br&&br&题主,我来告诉你解决你目前困境的不二法门。不要说区区五六百行的程序,再大到上W行的代码,都可以&b&让你满怀信心&/b&的解决。这个法门就叫做--&b&重构&/b&。&br&不用担心,它是有方法论的。只要你按下面的步骤,&b&小步修改,确保每次修改后通过测试&/b&。我保证:&br&&blockquote&变量众多,再牵涉到相互之间的逻辑&br&&/blockquote&1.你会对这500多行代码的整体结构一目了然,豁然开朗;&br&&br&&blockquote&生怕某个地方改错,导致不可知的错误&/blockquote&2.对每一次修改都充满信心,对它的影响范围都了如指掌,不担心会引起代码的degree;&br&&br&接下来开始我们的重构:&br&&b&&u&1.给每一个变量和函数重命名&/u&&/b&&br&&b&重命名的方法是,让每一个变量或函数的意义明确,一目了然。&/b&&br&
如果你看到一个i,不要默认它是循环变量,给它取一个有意思的名字;&br&
如果你想给“对战”取一个变量名,不要这么写:dz。如果你写成fight,下一个读代码的人会对你感激不尽;&br&
如果insert函数是插入成绩,那么insertScore是一个更合适的函数名称;&br&
如果你的函数里,做了成绩查询和修改处理,那么用retrieveAndModifyScore来命名它;&br&
做完如此之后,如果你发现乃至&b&所有的注释都是多此一举&/b&,那么恭喜你:Well done!&br&&br&&i&&b&然后Run -& Test,谨小慎微的确保我们的该步操作大功告成。&/b&&/i&&br&&br& 接下来我们深入函数的内部,厘清那些让我们力不从心的复杂逻辑。&br&&u&&b&
2.改写if else逻辑&/b&&/u&&br&
繁多的if else,if中的if else,else中if else,这些庞大的逻辑块看上去就让人云山雾绕,那是是时候祭出重构公式来简化它了。&br&
重构的思路为:if和else的逻辑我们只能二选其一。&br&
对于if,我们可在if的逻辑块里加上一个return,表明我们执行完if之后,不再涉及else的代码。&br&
对于else,由于之前一部已确保if的逻辑执行后会返回,我们大可放心的将else的代码提出来,去掉else这个关键字。&br&
话不多说,直接上例子:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&A&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Good&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&2&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Not too bad&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&return&/span& &span class=&s&&&Just so so&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&A&/span& &span class=&o&&==&/span& &span class=&mi&&2&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&C&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Need improvement&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&return&/span& &span class=&s&&&Need more improvement&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&2&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Have a chance to improve&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&return&/span& &span class=&s&&&Too bad&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&这是一段重构前的代码,每每看到这里,都有一种给跪了的感觉。&br&于是第一步的重构开始了,我们的第一次,就从 else if ( m_Prop.A == 2 )开始,从去掉else开始。&br&这次重构后的代码如下,是一次简单的不能再简单的修改。&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&A&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&){&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Good&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&2&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Not too bad&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&return&/span& &span class=&s&&&Just so so&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&A&/span& &span class=&o&&==&/span& &span class=&mi&&2&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&C&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Need improvement&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&return&/span& &span class=&s&&&Need more improvement&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&2&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Have a chance to improve&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&else&/span& &span class=&k&&return&/span& &span class=&s&&&Too bad&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&以此类推的重构后,得到如下代码:&br&&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&A&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&){&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Good&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&2&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Not too bad&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&return&/span& &span class=&s&&&Just so so&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&A&/span& &span class=&o&&==&/span& &span class=&mi&&2&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&C&/span& &span class=&o&&==&/span& &span class=&mi&&1&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Need improvement&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&return&/span& &span class=&s&&&Need more improvement&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span& &span class=&n&&m_Prop&/span&&span class=&o&&.&/span&&span class=&na&&B&/span& &span class=&o&&==&/span& &span class=&mi&&2&/span& &span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&s&&&Have a chance to improve&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&k&&return&/span& &span class=&s&&&Too bad&&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&br&
如果&b&重构后的代码再也不见else,而逻辑上你很清楚与重构前相等&/b&,那么恭喜你,这一步也完成了!&br&&br&&i&&b&在每一次if else的修改后,&/b&&/i&&i&&b&Run -& Test,谨小慎微的确保我们的该步操作大功告成。&/b&&/i&&br&&br&&br&&i&--------------------------------------&/i&&i&----&/i&&i&--&/i&更新于&i&--------------------------------------&/i&&i&----&/i&&i&--&/i&&br&&br&感谢大家热情的反馈。上周因为换工作的事没来得及更新,换工作后白天也不能上外网,我将尽量利用晚上的时间,在这周之内更完余下的部分。&br&今天探讨的是&b&去除重复&/b&。&br&&br&言归正传之前,继续说说 2.改写if else逻辑。&br&记得大学学谭总的C语言,教材上仿佛提到过:一个函数只能有一个出口。前面提到if之后立即return,似乎有违此理。&br&好在这么写并不违背语法,于是我也可以斗胆谈谈这么做的初衷:&br&1.可读性&br&当函数中出现任一一个return,即意味着这个分支到此为止。这样一个个return,将一块块的逻辑分支分段。读代码的人只需专心理解每一段的逻辑,而不必耗费精力,深挖该段逻辑之后是否还有额外的处理--因为我们的代码已经return了。&br&2.避免误修改&br&诚然我们可以在每个分支的结尾,将返回值赋值给一个新的变量,在函数的末尾返回这个变量。这样做保证了函数只有一次返回,并且该处还可以做一些诸如异常捕捉的统一处理。 &br&但是,但是这就没法保证,这个作为返回值的变量,不会在后续的处理中被意外的修改。俗话说夜长梦多,个人建议还是该出手时就出手,能返回时就返回。&br&&br&关于这个话题,最后还是将评论里&a href=&http://www.zhihu.com/people/tianzihou& class=&internal&&侯天资&/a&兄的评论借花献佛:&br&&blockquote&进入enum用switch-case逻辑模块+带现实意义的常量作为case的值进行捕捉和处理,这个也会比==1, !=2, &=3这种if-else的逻辑判断的可读性好得多得多&br&&/blockquote&即使小小的if-else也需要我们足够努力,才能让读代码的人读的不费吹灰之力。&br&&br&写到这里,想请大家思考个问题:当我们要做什么的时候,我们会想到if-else / switch?&br&是否我们是想基于不同的业务触发条件,来做不同的数据处理?亦或是判断对象的不同状态,来调用它不同的行为响应?&br&好吧,我想各位已经明白我想表达的。不明白的话,可以看看多态的定义。&br&有人的地方就有江湖,有分支的地方就可能改为多态。&br&关于这个话题,后面有机会再行展开。&br&&br&当逻辑分支重构得不那么令人头疼的时候,我们来说说最令代码修改者闻风丧胆、谈之色变的问题--代码重复。&br&&u&&b&3.去除重复代码&/b&&/u&&br&过往的项目经验里,最让人头疼的便是修改重复代码,无论是因为需求变更,还是因为bug修改。当你用着关键字,一遍遍的CTRL+F,将找到之处再一遍遍的用类似的代码替换时,是否已经精疲力尽?更糟糕的是,你还会担心这样的查找,会不会有漏网之鱼。在某个可能无法用关键字找出的角落,会不会还有类似需要修改的地方,让你担惊受怕?&br&遗憾的是,很多programmer意识不到这样的无用功是因为代码重复产生的。&b&当一行行的代码用CTRL+C、CTRL+V的方式产生时,恶趣味的重复代码就注定生成了。&/b&&br&&b&将重复的代码块浓缩为函数,使用一次就调用一次这个函数,直到&/b&&b&找不出类似代码&/b&。&br&&br&我相信有时候并不是程序员不知道如何解决前文提到的困扰,他们只是缺乏这么做的信心和勇气。&br&想想终将修改这些重复代码时,你的疲乏和担心。反正都要一个个的修改,何不如一个个的替换为函数。&i&&b&用函数代替重复代码块,Run -& Test,替换一处就测试一次,直到全部的重复代码都变为函数调用。&/b&&/i&&br&&br&&br&&br&&i&--------------------------------------&/i&&i&----&/i&&i&--&/i&更新于&i&--------------------------------------&/i&&i&----&/i&&i&--&/i&&br&完成了变量、代码块的重构后,接下来谈谈如何重构一个函数。&br&&b&&u&4.让函数只做一件事情&/u&&/b&&br&我大学刚开始写C代码时,脑子里充满了如果XXX,就XXX,然后XXX的逻辑思维。&br&翻译成C语言,就是main里面一大段一气呵成的代码。后来觉着这样不对啊:没用到函数啊!于是乎将相关又相邻的代码提炼出来,取一个函数名,函数调用一用上,大功告成!&br&就好像下面这个修改密码的函数,咋一看逻辑清楚,似乎也没啥大问题:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&n&&Boolean&/span& &span class=&nf&&ChangePassword&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&id&/span&&span class=&o&&,&/span& &span class=&n&&String&/span& &span class=&n&&oldPassword&/span&&span class=&o&&,&/span& &span class=&n&&String&/span& &span class=&n&&newPassword&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&oldPassword&/span& &span class=&o&&=&/span& &span class=&n&&EncodeHelper&/span&&span class=&o&&.&/span&&span class=&na&&MD5&/span&&span class=&o&&(&/span&&span class=&n&&oldPassword&/span&&span class=&o&&.&/span&&span class=&na&&trim&/span&&span class=&o&&());&/span&
&span class=&n&&newPassword&/span& &span class=&o&&=&/span& &span class=&n&&EncodeHelper&/span&&span class=&o&&.&/span&&span class=&na&&MD5&/span&&span class=&o&&(&/span&&span class=&n&&newPassword&/span&&span class=&o&&.&/span&&span class=&na&&trim&/span&&span class=&o&&());&/span&
&span class=&k&&if&/span& &span class=&o&&(!&/span&&span class=&n&&oldPassword&/span&&span class=&o&&.&/span&&span class=&na&&Equals&/span&&span class=&o&&(&/span&&span class=&k&&this&/span&&span class=&o&&.&/span&&span class=&na&&GetStudent&/span&&span class=&o&&(&/span&&span class=&n&&id&/span&&span class=&o&&).&/span&&span class=&na&&LoginPassword&/span&&span class=&o&&))&/span& &span class=&o&&{&/span&
&span class=&k&&return&/span& &span class=&kc&&false&/span&&span class=&o&&;&/span&
&span c}

我要回帖

更多关于 高中会考成绩等级划分 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信