的摸索之旅-b-从思索到最佳通常-CodeReview-b (摸索 探索)
作者|古训
导语:CodeReview在日常的开发环节中越来越被注重,它在提高代码质量同时促成团队成员之间的常识共享和技艺优化方面施展了诸多作用,本文将关键围绕CodeReview开展,便捷聊聊在CodeReview环节中的心得和思索。
引言
正如图中调侃的权衡代码质量的惟一有效规范就是CodeReview环节中WTF/min,从中可以看出CodeReview关于保证代码质量的关键性。
CodeReview在日常的开发环节中也越来越被注重,它在提高代码质量同时促成团队成员之间的常识共享和技艺优化方面施展了诸多作用,本文将关键围绕CodeReview开展,便捷聊聊在CodeReview环节中的心得和思索。
CodeReview的关键性
CodeReview是开发环节无法或缺的关键一环,假设将代码颁布比作一个工厂的流水线,那么CodeReview就是流水线凑近于重点的质检员,他要负担着对产质量量的保证上班,将毛病从泛滥的产品中挑出,反向推进消费方改良消费质量。
CodeReview的作用:
1.改善代码质量:经过CodeReview机制,可以让团队其余同窗帮助协助把关代码质量,发现代码中潜在的质量疑问,并给出改良倡导,从而推进团队全体代码代码质量的优化。
2.能够成功常识共享,一致认知:CodeReview环节是常识碰撞的环节,是学习他人的常识体系促成自我生长的环节,经过CR这样的环节能够将不同生长阶段的成员之间常识水位尽量拉齐,能够有效的优化团队编程的全体水平。
3.能够及时潜在安保和性能疑问等:经过CodeReview能够及时发现代码中潜在的安保疑问和性能疑问,例如:SQL注入疑问、打算安保破绽疑问、局部业务场景查问成功性能较差等疑问。
总之,经过严厉的CodeReview能够协助团队成员养成良好的编程习气和规范,从提高整个团队的代码质量和团队认知拉齐。
CodeReview通常阅历
在CodeReview试验阅历章节中,第一局部,将关键引见CodeReview关注的哪些方面,经过表格的方式启动梳理和演绎;后续局部将关键围绕各个分类下的疑问汇总以及从团体的视角登程提出倡导。接上去,将关键围绕2个疑问开展探讨:
1.CodeReview应该关注那些疑问;
2.CodeReview疑问点解读与倡导。
CodeReview关注哪些
CodeReview关注的点比拟多,这里便捷做了一些归类,梳理了一局部外围关注点和场景疑问。
关注点分类 |
关注点细分 |
外围关注点 |
经常出现疑问 |
代码规范与质量 |
命名 |
变量命名、方法命名、类命名、包命名 |
命名拼写失误、命名与实践含意不符(超出或小于)、用词不准 |
注释 |
能否有注释、注释能否正当 |
通篇无注释、注释不准确 |
|
日志打印 |
日志打印级别、日志打印参数、日志格局、意外打印、能否应该打印日志 |
日志打印级别误用、日志参数未打印、日志格局不规范、意外消息未打印、打印日志过多 |
|
意外处置 |
意外能否抛出、能否规范的意外编码等 |
意外该抛出未抛、肆意的经常使用RuntimeException等 |
|
逻辑正确 |
业务逻辑能否反常 |
空指针疑问、逻辑不正确等 |
|
代码格调分歧 |
代码格调与运行全体格调分歧 |
代码格调不分歧(如) |
|
代码复杂度 |
圈复杂度 |
少量嵌套if造成十分复杂等 |
|
架构设计 |
关注分层 |
分层能否正当、能否存在跨层调用 |
分层凌乱、跨层调用 |
关注裁减性 |
裁减适配 |
硬编码裁减性低 |
|
业务域划分 |
业务域划明显晰 |
业务域划分凌乱 |
|
性能疑问 |
慢SQL |
索引设计、能否存在慢SQL语法 |
索引未设计、慢SQL用法如like%xxx语句等 |
缓存设计 |
增加缓存、能否存在缓存击穿疑问 |
该加而未加缓存、缓存击穿疑问等 |
|
安保性疑问 |
能否存在安保危险 |
文件上行验权、越权访问疑问 |
文件上行未验权、越权访问数据等 |
代码规范与质量
CodeReview环节中首先要关注代码的规范和质量疑问,而且出现疑问也是最多的,包括命名、注释能否正当、日志打印规范、意外处置能否正当等等,接上去关键论述一下关键遇到的一些疑问点以及哪些是正当的打算。
命名疑问
命名是CodeReview阶段中经常出现的疑问之一,开发中也经常为了一个优雅的命名而改来改去,无论是对变量还是方法、类都尽或许的给予一个失当示意的命名。
1.变量命名:介绍经常使用繁复明了带有业务语义的命名方式。不倡导经常使用tmp、list、a、b等无法表述清楚以后变量是什么含意的命名方式。不倡导经常使用下划线命名的变量称号如:_aop_signature。
2.常量命名:常量命名方式介绍大写字母,多个词之间经过下划线衔接,如图中的常量值咱们倡导提取成常量定义IS_RESHOOT。
3.方法命名和类命名:驳回适合的词形容清楚以前方法/类的性能即可,此外留意驳回驼峰式命名,代码可读性更高。
比如图中的案例,原本的用意是失掉语种类型,但是命名为fillXXX则与实践的性能不是很婚配,所以倡导修正为getXXX命名。
注释
CodeReview中须要关注注释能否失当,能否能够表白清楚以后的行/方法/类的性能,同时也要关注能否存在适当的注释,上方是我对注释的几点倡导。
1.注释失当:能够清楚的表白以后行/方法/类的性能,不倡导出现注释与代码不婚配状况。
2.适当的注释:倡导关于较为复杂的代码要提供适当的注释,都说好的代码是自注释的,但是无法保证的是有较复杂的业务背景状况下还有人能够看明确,此时须要增加局部注释。
比如,有少量复杂条件判别的if条件时,假设不了解业务需求的话很难从中了解这段方法是在做什么,所以倡导增加适当的注释。
日志打印
CodeReview中须要关注日志打印级别能否正当,以及日志打印的格局能否合乎规范,同时要留意能否有打印关键的参数,接上去是我对日志打印的几点倡导。
1.日志打印级别能否正当:倡导驳回适当的日志级别启动打印,比如系统意外状况驳回error级别打印,假设只是打印流程中某一个结果可以决定info级别,当局部参数不合乎预期的状况下可以驳回warn。
2.日志打印关键参数,倡导在日志打印中打印出关键的参数消息,否则很难定位意外要素。
3.意外消息能否打印,意外处置日志打印时倡导打印意外消息(e)到日志中,便于排查疑问。
4.日志能否打印过多,尤其是针对服务调用频繁的服务,须要重点关注能否有必要打印日志,高QPS服务容易造成日志打印过多,引发磁盘容量无余等危险。
意外处置
意外处置也是经常出现的疑问之一,经常会遇到应该抛出意外的中央未抛出造成业务流程流转,进而造成局部流程数据意外。
比如下一个例子,在初始化二方包时会经过静态代码块的方式加载Spring性能文件并初始化Spring容器,此时假设初始化失败时catch住了意外并未抛出的话会造成运行启动成功,但是Spring容器并未初始化成功,容易造成线上疑问。
逻辑能否正确
要适当审核代码中能否存在逻辑性失误,比如经常出现的空指针疑问、业务逻辑处置不正确等等。
比如这里的空指针疑问,其实齐全可以经过Constants.Y.equals(object)来成功,防止空指针引发的业务逻辑意外。
代码格调能否分歧
代码格调蕴含很多,包括类的目录归属、参数审核的方式等等,不同的运行或许不尽相反,尽量与之前的代码结构和打算坚持分歧,不要我写我的你写你的,最后发现同一个运行中的规范不拘一格,此时新人出去手足无措。
比如在处置意外消息前往的时刻,将少量的中文编码写入业务代码中,其实是不太优雅的,介绍定义规范的意外Code及形容。
代码复杂度
有一些代码没有逻辑疑问也没有格调疑问,但是看起来特意复杂,我将其归为复杂度疑问,比如经常会看到有if嵌套过深的疑问。比如,有的场景宿愿在汇合数据非空的状况设置一些参数,所以在判别时经过isNotEmpty判别非空,而后在if外面嵌套for循环启动设置,此时我的倡导是提早前往,假设汇合为空就间接return前往,缩小代码的复杂度。
架构设计
之前我感觉CodeReview中不须要关注架构设计,通常上应该在评审阶段提早确定好的,但是在实践环节中还是会有一些不正当的中央:比如分层能否正当,能否具有裁减性、业务域划分能否明晰等等。
关注分层
大局部运行都有自己的分层打算,增量的需求须要尽量坚持分歧的分层打算以使得分层架构一致,便于前期保养。比如,不同分层对应的类的命名方式有所辨别,所以综合分层来看须要放在正确的分层中或许一致正确的命名方式。
关注裁减性
局部业务场景在开发的环节中由于限定于以后的业务诉求,未对后续的裁减才干做提早的布局,这种状况可以在CR阶段指出,疏导代码编写者思索如何启动裁减性设计。
比如上方的例子,从裁减性角度来看,由于代码中设计了OcrHandler和OcrAdaptor两套裁减,OcrHandler设计的比拟薄(实践上外围是转调用OcrAdaptor),少量的业务逻辑依然是在OcrAdaptor,显然该设计中OcrHandler的实践意义并不大,所以我的倡导是兼并这两个裁减性设计为一套。
关注业务域划分
业务域划分不明晰的系统往往更容易蜕化,由于一旦业务域划分比拟乱往往分不清应该放在哪个域的模块中,再加上人员迭代,会使得系统愈发的凌乱。
这里便捷举例,比如咱们运行中有一局部接口定义放在了通用的域的服务中,其实从业务域划分上其并不够通用,显然放在这里是不适合的,我的倡导是独自定义专门的业务域的包来治理该业务专门的服务接口等。
性能疑问
性能疑问容易被漠视,由于少量的业务代码的编写性能疑问往往潜藏在少量的业务代码之后,在CodeReview阶段并不必定能够及时的发现疑问。
慢SQL疑问
慢SQL其实偶然会遇到,在CR的环节须要关注能否有或许出现慢SQL,此环节须要联合数据库索引设计和代码中的经常使用场景来独特成功定位。
举个例子,前段期间上线了一个日志服务,该服务在数据库降配后流量较大时段服务耗时飙升,经过排查是慢SQL造成的,外围疑问在于设计的索引未能有效命中造成查问过慢,在数据库性能较高的状况下,慢SQL造成的期间损耗并未凸显,而当数据库降配后瞬间CPU被打满造成查问缓存,继而引发服务耗时的飙升。
关注缓存设计
局部接口在开发中并未增加缓存,假设流量较大的状况下容易造成雪崩,所以针对流量较大的场景要关注缓存设计能否正当,甚至能否有必要增加二级缓存等。
安保性
安保性是很容易漠视的疑问,比如典型的无登录校验的上行接口、越权访问疑问、SQL注入危险等等。
SQL注入:例如以后辈码中经常使用的是字符串拼接的打算构形成完整的SQL,而后间接调用数据库衔接口头SQL,该打算比拟典型的疑问就是SQL注入的疑问,攻打者可以经过注入条件OR1=1等条件即可成功对表拖库。
无登录权限等校验的上行接口:由于历史要素晚辈们遗留了一个无登录上行的http接口,后被灰产应用疯狂上行文件,造成较为重大的疑问,为了下线该服务消耗了少量的人力老本,假设在CodeReview阶段能够失掉阻止,后续的疑问也都可以有效防止。
越权访问疑问:局部场景下假设充沛信赖前端传递的用户ID,并且未充沛对其启动校验的状况下间接查问对应客户的关系消息,很容易造成越权访问的疑问,此类接口容易被灰产应用盗刷网站的用户消息,此类疑问也是要在CodeReview阶段留意的点,不过此类场景或许比拟少,但是危险极高。
CodeReviewer的自我修养
咱们谈CodeReview关键会关注代码层面的机制或许规范,而我感觉人的层面也须要关注。CodeReview是关系尊重相互学习十分好的场景,甚至于可以以为是被推进生长的一个很好的中央,良好的自我修养,能够推进CodeReview文明的树立和落地,进而能够有效优化CodeReviewer各方的生长和代码质量优化。
站在CodeReviewer角度
作为CodeReviewer,一方面作为代码的"质检员",借助于团队构成的代码规约来严厉把控代码质量;另一方面,作为学习者,经过团队同窗的CodeReview代码从中学习代码中的低劣设计。
1.学习心态:我一直感觉代码CR的环节并不是一味的从代码中找疑问的环节,也是相互学习的环节。从代码CR中吸取低劣的设计思维,学习被CR的代码中设计低劣的中央,每一份代码中都有一些不错的中央,内化为自己的设计理念。比如一个便捷的场景:一处复杂设计的代码在以后的代码中被重构设计的愈加低劣,可读性更好。
2.专业的常识储藏:在CodeReview之前咱们须要储藏对应的常识,知道为什么要这样做,为什么不能那样做,以及那样做会有什么样的坏处(如性能损耗等),了解底层的成功细节锻炼自身扎实的常识储藏,此外不时增强学习新技术关上视线,拓展常识储藏的边界,极速的生长。
3.关注细节耐烦CR:作为CodeReviewer咱们要充沛的关注代码细节,包括命名、注释、意外处置、日志等等,甚至于代码中的一个空格。同时要有耐烦,CodeReview是很消耗期间和精神的,要坚持耐烦和常年坚持。
4.有深度的CR意见:很多状况下,咱们青睐提CR的时刻一步到位这一句要改成什么,却很少会关注为什么要这样写,关于复杂一些/少见一些的场景,我的倡导是应该在CR意见中启动论述,讲清楚来龙去脉,此时就成功的将常识储藏输入给了被CR的同窗,在CR的环节中取得了生长。
5.尽或许了解业务背景:没有业务背景往往只能看看代码的规范性疑问,但是关于业务逻辑中的疑问假设没有深化的了解清楚业务诉求是比拟难做出高质量的CodeReview意见的。
站在被CodeReviewer角度
作为被CodeReviewer,一方面作为学习者,经过团队同窗的CodeReview意见从中学习低劣设计思维和代码规范;另一方面,也可以作为规范的输入者,经过良好的代码设计输入自己的代码设计理念,经过CodeReview等场合对外输入;
1.学习心态:面对CodeReviewer提出的意见,咱们要坚持良好的学习心态,思索下他意见面前的要素,吸取其中的设计和规范理念从中取得生长,勇于拉齐自己认知与团队内不分歧的中央,极速的融入并听从团队一致的代码规范体系。
2.谦逊接受倡导:被CodeReviewer要学会接受倡导,应该尊重他人的思索和想法,关于好的意见咱们要谦逊的接受,进而不时的优化自己的编程才干。
3.有自己的主意:接受倡导并不是说一切的都要接受,很多时刻多种打算是都可以的,也有时刻意见也有思索无余之处,此时,被CR的同窗须要坚持主意,防止由于一味的接受他人的倡导而引入了新的疑问。
4.开明容纳的心态:有时刻CR者并不必定提出的所有是正当的意见,此时,还是要坚持开明容纳的心态,坚持友好的沟通与对方将疑问探讨清楚即可。
5.对自己的代码担任:只管CodeReview能够起到保证代码质量的目的,但是作为代码的开发者尽量不要将还未测试过的代码丢给CodeReviewer,CodeReview的环节不能保证一切的疑问都能够被发现,必定要为自己的代码担任,当确定自己的代码没有疑问的时刻再提交CodeReview,这也是对CodeReviewer的一种尊重。
CodeReview文明树立
团队依托局部人介入的CodeReview力气是有限的,所以咱们希冀能够树立CodeReview文明。经过CodeReview的文明树立来充沛的调动每个成员介入CodeReview的踊跃性,众人拾柴火焰高,构成文明树立应该是常年指标。
咱们团队经过冲破各自业务域范围,打造跨业务域CR的机制和文明,每次CR的时刻须要以后业务域同窗启动CodeReview的同时也要找跨领业务畛域的一位同窗协助CodeReview,2位以上的CodeReview都分歧经过才干真正经过本次的CodeReview,经过这样的文明和机制树立,团队也构成了CodeReview的风尚,大家一同协助其余同窗CodeReview,有助于多个业务域的规范一致,也有助于团队层面构成良好的代码规范共识,低劣的设计阅历可以超越畛域被分享和学习,促成独特生长。
关于造就团队中CodeReview的文明思索:
1.树立代码规约:团队范围内的代码规约须要团队层面能够达成共识,可以是团队leader牵头制订,也可以由大家一同经过CR的环节碰撞发生,总之须要能够积淀代码规约并在团队范围内达成共识,这是构成文明的基础。
2.CR方式多样化:可以针对某一份代码在固定的期间(周会等)中启动分享并率领大家一同启动Review,加弱小家的介入感和兴趣性;也可以超越畛域去替换CR别的团队的代码,学习一下别的团队的代码规范。
3.调动踊跃性:激励团队同窗踊跃介入,联合处罚机制不时的疏导。
4.据守文明:文明的构成,关键还在于坚持,只要坚持常年主义才干构成良好的CR文明,很多团队或许会存在坚持了一阵,期间久了缓缓又回归了旧的形态,这是咱们不愿看到的。
5.过度的处罚机制:ICBU部门层面经过设立适当的处罚机制来激励大家介入杰出工程,介入CodeReview,有效的疏导大家介入团队内的CodeReview,也有效的助推文明的构成和树立。
总结
CodeReview是代码质量保证的关键一环,作为CodeReviewer咱们要据守团队的一致规范,严厉把控每一份代码中的质量和规范等疑问,牢牢的把控好代码质量关口;同时作为被CodeReviewer咱们也要尊重他人的期间和意见,独特保养团队的代码规范,从CodeReview中学习他人的意见和设计思维,促本钱身的极速生长。
本文关键论述了CodeReview环节中的心得和思索,良好的CodeReview文明能够推进团队独特生长,宿愿咱们能够在行进的路上据守住CodeReview的文明外延,力争将工程通常做到出色,打造面向未来有竞争力的出色技术团队。
怎样才能成为一名优秀的TTT培训师?专业精研TTT领域30年的刘子熙老师在他的课堂上,通过言传身教,对这个问题给出了精妙绝伦的回答。 他是怎么做的呢?就通过回顾三天的课程,来说说我对TTT学习的理解吧。 一、开场先声夺人 “你到这里来,是为了学习什么?”这是刘子熙老师在TTT讲师认证课上问的第一个问题,他笑眯眯地问出问题,又笑眯眯地看着大家等待回应,当有老师站起来回答的时候,子熙老师高声说“给他一个热烈的掌声”。 但是在这位老师手拿话筒颇为自信地说道:“大家好,我是XXX,我来自XX,目前是……”“停!”子熙老师笑眯眯地打断了,然后柔和地说:“我需要打断你,因为我的问题是‘你到这里来,是为了学习什么’,所以还没到自我介绍环节,谢谢你,请坐。 ”拿过话筒,子熙老师仍然笑眯眯地说:“在这里,我要送给大家一个词,叫‘预先框定’。 ”他一边在白板上写下这四个字,一边讲道:“‘预先框定’是首善,从一开始就掌控课堂,避免出现‘率先垂范’的‘领导一言堂’或‘专家一言堂’现象。 提出明确的问题就是一种‘预先框定’”。 说到最后一句话时,子熙老师左手持麦,右手自然微扣、虎口向裤缝,手臂微曲,自然垂在体侧,身体微倾,笑眯眯地看着右侧学员问:“你到这里来,想学到什么?”看着思考的学员,他身体微转,眼神又在中间学员们身上停顿,笑眯眯地追问:“想学到什么?”最后目光落到左侧学员身上,继续追问:“学什么?”只是稍顿,子熙老师拔高声音,右手振臂一呼说:“来,现在请大家七嘴八舌用一个词回答我提出的问题‘你到这里来,是为了学习什么?’一不做二不休,开始。 ” “更专业”、“会讲课”、“演讲技能”、“课程呈现”、“学口诀”、“学系统”……在七嘴八舌中,子熙老师笑眯眯地逐一重复大家的关键词,等声音逐渐停下来的时候,他右臂舒展,有力一挥,铿锵有力的一声:“大家说的都有道理,给自己一个热烈的掌声!”“归纳一下,大家想要学习的不外是‘器术法道势’。 呈现之器、编导演之术、讲授控场之法、培训之势、讲师专业之道。 在刚才的5分钟之内,我运用了‘变讲为问’的‘追问法’、‘预先框定’的控场术、身法聚精会神、手法大开大合、眼法触罩贴、聆听同理心、异声拢场术、积极回应法。 所谓‘以势统道,以道御法,以法使术,以术用器’,做为一名TTT讲师,器术法道势要统御使用,既要掌握器术法,也要明确道与势。 只有这样才能实现显性改变,质的提升。 ”懂培训的人都知道,开场白好比是凤头,要先声夺人,亮丽响亮。 因此,有“故事法”、“案例法”、“提问法”、“展示法”、“游戏法”等诸多开场白设计方案。 但是,许多讲师常常沉浸于设计之术,却忘记了开场白设计之道。 开场白要解决什么问题?吸引注意力、引起兴趣、建立关系,其实就是要让听众的多巴胺在短短几分钟之内被你的开场白刺激到,对你和你接下来要讲的内容产生好奇和期待。 所以,只有“案例”“故事”“提问”“展示”“游戏”这些术是不够的,必须“干湿”结合,以术喻道,有趣有料,才能做到先声夺人,亮丽响亮。 刘子熙老师显然在开场用一个看似简单的提问互动,就做足了先声夺人之势,给到学员一个强烈的震撼:“不愧是专业啊,句句精妙!”试问,在这种情况下,怎么可能不兴奋地期待接下来的课程呢?二、控场自始至终 “控场是控什么?” 这是刘子熙老师在讲到控场之术的时候提出的问题。 “课堂”、“学员”,有老师已经七嘴八舌在回应。 “不错,大家说的都有道理。 控场确实需要对课堂进行场控,对学员进行他控,同时,还有一个很关键的是——对讲师的自控。 所以,控场要包括自控、他控、场控三个方面。 那么,讲师、学员、课堂,这三者哪个更重要呢?”“学员”、“讲师”、“课堂”。 老师们各执一词。 “为什么呢?哪位老师来说说?”子熙老师笑眯眯地追问。 “因为学员是学习的主体,所以要以学员为中心。 ”“因为讲师是课堂的主导,所以讲师才是最重要的。 ”“因为课堂的整体氛围会影响讲师和学员的状态,影响培训效果,所以课堂最重要。 ” “给大家一个热烈的掌声,大家说的都有道理。 其实,这三者都很重要。 正如大家所说,讲师是主导、学员是主体、课堂是主场,控场要进行自控、他控、场控,这三者是一个系统,相互关联,相互影响,因此都很重要。 具体怎么做呢?”子熙老师顿了顿,智慧的双眼看着大家,笑眯眯地说:“其实我已经告诉了大家。 ” 老师们面面相觑。 子熙老师扬声说道:“自控,无非是讲师对自己情绪、形象、行为的管控。 情绪需要管控什么?压力、紧张、怯场。 压力是你内心的感受,紧张是别人看到你的小动作,怯场是不敢上场。 三者怎么破?送给大家三个锦囊,一是外谨内松,轻松而不轻视,别把学员当做萝卜白菜;二是郑重其事,减少动作,放松而不放纵,别人看不到你的小动作,紧张自然缓解;三是拿出架势感,多练习,上就行了。 形象需要管控什么?仪容、仪态、仪表、仪式。 送大家四个词,分寸、认真、匹配、始终。 仪容有分寸,整洁端庄、容光焕发;仪态需认真,郑重其事、动作大方;仪表要匹配,标准刻意、融为一体;仪式做始终,上场下场、讲课照相。 行为需要管控什么?身法聚精会神、手法大开大合、步法规行矩步、眼法出神入化、听法道听途说、说法断断续续、心法装腔作势。 以心法导手法、以手法证心法,这就是讲师风范七法。 为什么说我已经告诉了大家呢?现在请大家观察我的仪容、仪表,是否有分寸、匹配当下;再回想并注意我的动作,是否郑重其事、行止有度。 身法上挺下压、左右相夹;手法大开大合高段位,出手不收手、贴词不贴句,而不是字字乱动;步法站立等肩宽,走动步步为营,三步一停,而不是来回随便走;提问和讲授时,我既有采用盯制法亲切看着某一人,同时又采用触罩贴,触一眼、罩全脸、贴全身,触一人、罩一片,贴全场,所以大家会感觉自己都被关注到;说话只要超过5个字,我就会三五成群、抑扬顿挫,这叫重要要重,重要要重(chong)。 只要有引用,就会采用朗诵腔,绝不让流畅来惹祸;大家在讨论和回答问题时,我能够记住至少5个以上的回应关键词,这是观此听彼、道听途说;在上台前我会自然整理自己的仪容仪态和仪表,且保持始终,这叫仪式。 所以,讲师的自控,是有人的地方就是老师,时刻都在状态上,点点滴滴、一言一行,都浸润在课程中。 以上这些,大家都收到了吗?最后,关于自控,送给大家几句话:上台之前‘作一把’,宁断不乱‘停一下’,言简意赅‘省省吧’,规行矩步‘稳稳哒’,出手不收手,精气神要有,抑扬顿挫说,眼神触罩贴。 接下来进入自控演讲练习5分钟,材料已经准备好,一不做二不休,开始。 ”听子熙老师讲到这里,我不由想起在给一家医院的内训师做培训时,组织方的负责人在听了一天课后对我感慨说:“这个课可真不好讲,因为不仅仅是要讲好,关键是讲师要处处都要做好啊!”的确如此,做TTT课程的讲师,是真正的言传身教,以身示范,所以自控真的很重要。 当然,只有自控,不能把对学员的他控和课堂的场控与自控融合为一体,仍然是没有做到真正的控场。 刘子熙老师在授课中,就已经炉火纯青的做到了三者合一。 对学员的他控和课堂的场控,子熙老师在坚持“没有不好,只有不同”,“没有问题学员,只有常态和非常态学员”的理念基础上,在讲授中自然融入了非常简单实用的几个控场术: 1、预先框定:与学员约定互动规则。 2、随时叫停:讲师及时给与指导,纠正姿势。 3、积极回应:“刚才大家说了A、B、C、D,大家说的都有道理(配合手势)”。 4、学员定则:学员分享或展示,哪个组先来,没人上,就说“X老师,你来点一个”。 第一个站起来的学员,让他举手,举右手就右循环,举左手就左循环。 5、首时沉默:讨论时先写、后讨论、再分享。 6、异声拢场:“给大家一个热烈的掌声!”如同体育场上的哨子、法院的锤子、飞机播音前的“叮咚”。 7、缓兵之计:遇到难以回答的问题,可以“等等吧”,“课后再探讨”等。 8、掌控三宝:沉默、停顿、重复。 9、盘活:开场如同盛宴的活盘,先转起来,丰盛的菜肴,每样都来一点,浅尝辄止。 所以开场不要求把每一个点都讲的很到位,但是要都说一下,先声夺人,场就盘活了。 10、一不做二不休:开始演练的象征号召。 11、收到了来一下:以动作回应聚焦注意力。 12、逢冰必破,一动就破:不是只有开场才破冰,而是整个课程过程中逢冰必破;破冰不一定是做游戏,只要让学员做出任何动作,都会破冰。 比如“请大家翻到手册第XX页、“来看大屏幕”、“请跟对面的朋友握个手”等等。 13、到底要怎样,下节课继续:中场休息时,“感谢大家,全情投入,休息十分钟”。 在互动控场的过程中,子熙老师充分运用了手势、声音、眼神三类短中长的互动“武器”。 并指出,手势做为短程武器,要大开大合,否则指向一个就只是关注一个人;声音做为中程武器,要浑厚,语重心长,有穿透力;眼神做为远程武器,多远都能看到,出神入化。 真正的做到了自控、他控、场控三者合一,整个场域动静契合,浑然一体,讲师风范,自始至终。 三、器术精妙呈现 培训课堂,讲师除了控人,还需掌握控物之术。 物为器,用法为术。 讲师可控的器物都有什么呢?术法有何?结合子熙老师的指导我总结如下: 1、环境优化:充分运用培训环境,营造需要的氛围 (1)场地布置 目标:重心聚焦;方向:用宽忌长;距离:进退有度;位置:左右逢源 (2)氛围营造 温度:宜凉忌冷——19-22度 音响:补音调频——音乐、功放、视频 文宣:破题冠能——卡片、海报、图标 展示:分享竞赛——组牌、教练币、记分牌 2、视觉工具:运用好PPT、板书、激光笔,为课程锦上添花 (1)PPT呈现:设计原则 醒目——字体不小于16号 四化——表述概念化、概念图形化、图形层次化、层次动态化 外置——可采用浏览式展示PPT,一目了然全局观 平衡——页面设置风格一致、找魂定魄前后呼应 (2)板书呈现:二维视觉工具的价值呈现 布局:配合训练进程,区分主辅明暗 大小:近拳远掌,因地制宜 颜色:突出关键,缓解疲劳 符号:简化表述,节省时间 线条:构建关联,区隔空间 (3)激光笔:引导视觉,突出重点的呈现工具 3、展示工具:运用好展示、训练、互动的各类工具 抽象知识具象化、理性概念感性化、枯燥技能趣味化 4、器物运用原则:设计好、预备够、演练熟、控制住、展示足。 5、器物运用目标:讲清楚、听明白、记得住、做得到。 器物和术法都是为实现培训事半功倍的工具和技巧,运用得当,即可大大助力培训精妙呈现;过分依赖,或者与内容分离,就会使培训落于热闹有余价值不足的下乘。 子熙老师的课堂上将音乐、课件、板书与授课内容和演练有机结合,使整个课程呈现甚是精妙。 四、口诀回味无穷 经历了诸多的培训,学了诸多的知识与技能,什么样的妙语会让大家更容易记住,甚至长远流传成为行业经典呢? 是口诀——朗朗上口、简易有趣、形象直观的口诀。 刘子熙老师的课堂简直就是口诀的盛宴,句句精妙,令人叹服。 以上说过的不再重复,此处分享部分口诀。 1、培训师角色认知与训练理念篇 (1)理论与实践:心中有数,手上有术;心法指引手法,手法印证心法; (2)固定与灵活:做厚讲薄,定活两便;明线统领暗线,暗线补充明线; (3)内容与形式:粗枝大叶,妙趣横生;主线重于辅线,辅线多于主线; (4)讲师、学员、课堂:以问题为线索,以已知求未知,以反应为依据,以概念来表达。 (5)核心理念动作化:首善“请注意”,区分“是这样”,乐从“有道理”,对接“我发现”,感召“来”,分享“让我们一起”。 (6)准备比资历更重要,路子比步子更重要 (7)训练在课堂,修炼于随时;训练在外,修炼在内;训练于行,修炼在思;训练在手,修炼于心。 以训练达成修炼,由修炼推进训练。 (8)没有不会,只有没教;没有不好,只有不同;无论对错,但讲有无;本色做人,角色做事。 2、培训师形象风范与掌控促动篇 (1)风范七步:聚精会神精气神,大开大合高段位,规行矩步站要稳,出神入化触罩贴,贴近听远同理心,断断续续重要重,以心法导手法,以手法证心法。 (2)表达:正为先,顺为主; (3)创新:别开生面,同中不同;顺理成章何须你,独占价值开生面 (4)原则:一心来搞“定”,拼命找“托”词。 树立元认知,去除伪命题。 (5)讲授:前问后答中间讲,正说反论诙谐讲;宁少内容、不损效果。 (6)控场:不被形拘,不为物役;设计搭结构,讲授破系统; 以活动追寻结果,凭体验启导感悟。 3、培训师演绎升华与资源创新篇 (1)全息系统:以概念解释概念,以内容说明内容,以说法印证说法,以结论验证结论。 (2)承上启下:承上串概念,启下设疑问 (3)理解升华:初念浅转念深,里一层表一层 (4)配合:主线不散,辅线丰富 (5)讲授:“三短四先行”——词短、句短、段落短;概念先行、结论先行、数据先行、观点先行。 (6)生动表达范式: 听不懂:变术语为话语;不相信:变告知为发现; 没感觉:变数据为感受;少关联:变功能为价值。 (7)生动演绎:真平常——真性情、平常话、身边事 (8)即兴发表:捷思漫讲、话锋逆转、脱口秀 (9)训中过渡:承上串概念,启下设疑问 (10)内容动作化、五音不全说 4、培训师职业养成与成果转化篇 (1)培训师能级: 能工:学未知,教已知;巧匠:做所知,教你做;明师:精所做,创所教。 (2)效果呈现进阶: 讲顺——有内容;讲好——有效果;讲精——有系统;讲活——有思想 (3)收尾点题:见好就收,见好才收 (4)提升:道可顿悟,事须渐修 (5)实效:学习忘我,应用无他;学一点、悟一点、化一点、用一点,灵活务实 (6)点化:师傅指指门,修行在个人五、结语 TTT讲师的学习之路,是一个不断修炼、持续提升的过程,要像刘子熙老师所言,培训师的行为育成目标是——不假思索在状态。 不假思索,是指所有言行从无意识到有意识,从有意识到下意识,从下意识到潜意识;在状态,是指在职态,而不是在常态。 从常态到职态,可以分为四个阶段: 第一阶段:常态随意——不自觉——平常——自己原状态 第二阶段:常态刻意——不自然——失常——把学到的东西刻意用上 第三阶段:职态刻意——有习惯——非常——多练习后,固化于心 第四阶段:职态随意——真自然——超常——不假思索,自然而然所谓成人不自在,自在不成人,任性就不能改变命运。 三百六十行,行行出状元,任何一个领域的状元都是经历了不少于一万小时刻意练习后才能成为“异类”的。 培训师如何从常态随意到职态随意?只有刻意练习,没有捷径。
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。