大道同源系列之逻辑的力量

    几乎每一个人都有给别人讲道理的时候 ,但是并不是每一个时候都能够讲清楚道理。至于是否能够让对方接收到,那就更加要打上疑问了。

如何才能让你的语言组织更加具有说服力?我相信这是很多程序员都在困扰的事情。我自己就是一个程序员,身边也有很多同事和朋友。我经常听到大家的抱怨就是说某某人太倔强了,怎么说都听不进去。

被人说的这种人,往往就会被公认为群体中的刺头。如果水平很高,那就是牛人。如果水平没表现出来,那就是菜鸟。特别是那些刚刚当上开发经理的朋友们,在带领团队的过程中,经常会遇到这样的情况。怎么说,对方就是听不进去。他们也会经常和我探讨这个问题。

我的反应第一就是反问一下,事情真的是这样子的吗?于是就让他把刚才说的话,在对我描述一遍。听完之后,我明白了。能完全听他话的人,一定是不愿意动脑子的人,因为他的话里确实有很多问题。

我们知道,一般情况下,一个人对另外一个人说话,无非有几种目的:

第一、 闲聊。无所谓对方感觉,只要自己爽就可以了。

第二、 交流。主要是验证自己的苦恼和困惑,想对方能够帮助自己。

第三、 帮助。对方有困难,主动向你求助。

第四、 命令。你有了你的想法,但是希望对方按照你的想法执行。

这里面,一二三都是很简单的。第四个是最复杂的。特别是对方可能立场和你完全不同。你要说服他几乎就是不可能的。这就如对方的力M 的方向向右,你的力 N 的方向向左,你要让他向左,那你至少先要拥有抵消他原先向右的力量,至少 N > M ,实施上要做好工作,本身得有足够的动力,因此,至少 N=2M ,可能还更多。

问题说回来,还是那句话,如何能够让你的话更加有说服力呢?在这方面,有一本书我一定要推荐的,就是《金字塔原理》。他里面重点分析了很多组织语言的逻辑性。

应该说,这是一个非常难以掌握的技能。但是,我这里要和大家分享的是,其实计算机语言,比起我们读过的其他知识领域的更加具有逻辑性,只不过我们往往忽略罢了。

计算机语言就是逻辑语言。他最大的特点就是,如果所有的输入都一样,那么他的输出是一定的。

而且,计算机语言,已经给我们总结好了逻辑语言的模式:

第一、 条件式(if...then)

第二、 选择式(switch..case)

第三、 循环式(for)

好好反思一下我们自己身边的BUG ,这些 BUG 往往的起源,就是某一个条件没处理好,后期才发现了,这样代码质量是非常差的。刚开始总想,嗯,一般只要处理这种情况就可以了,其他情况不可能出现的。但是正是这种不严谨性,才导致了大型系统在后期出现很多非常诡异的情况出现。一个错误经过多层演变,几乎所有人都不认识了。

举个例子,比如要计算一个数的阶层,测试的时候,总是拿一些正整数输入的,而且当时调用的也是正的,于是对于负数可能就没有处理。在版本刚刚发布的时候,没有发现问题。但是慢慢的,某一个业务发生了变化,比如说购买的商品的数量允许用复数表示“冲销”,这样复数就有了意义,而这段代码就出现了问题。

这种错误其实数不胜数,相信你们比我能够举到更好的例子。如果,我们习惯了写一个完全无懈可击的代码块呢?有人说,这不可能,我们怎么可能知道所有的业务变化?不!我不是要你去思考可能的业务变化,而是单纯从逻辑上去思考,有多少种可能性。把这些可能性都解决掉,自然就不会出问题了。这是我在很多年的编程经验中总结的一个非常好的程序方法,想法很淳朴,关键在于要拨开所谓的业务变化这层迷沙!

上面说到的方法,其实就是利用了逻辑的力量,让我们的代码更加强壮!我们说道理何尝不是如此。有很多人认为说的话对方接受不了,是对方的问题,有时候用“对牛弹琴”来比喻。问题是,对牛弹琴里,是牛错了,还是弹琴的人错了?

其实这里面暗藏了一个简单逻辑。用对方相信的语言和文字,说明你的道理,对方就是可以接受的。

利用这个简单逻辑的基础上,再去组织你的语言和文字,相信你的话就不再是对牛弹琴了。因为对方能够“听”下你的话。

比如说,国庆前我和K 同学在工作沟通上存在了一些偏差,我希望他把工作先行做完,但是他当时表示,他目前这件事上他有很多抵触情绪。因此,如果单纯的告诉他要在什么时间前做完是不合适的。于是,我认真的听了他的情绪变化,最后提议,因为我下面在其他时间可能不能抽出时间一起讨论,希望现在就把工作提前做了, K 同学表示非常理解,也愿意把事情做好。

请注意这里面的情绪变化。这是沟通中的一个必然逻辑。在关注好对方的情绪后,你还得认真思考你的语言的逻辑。让结论和原因之间的推理,变得理所当然。而不要天马行空地乱讲一气。

其实这和咱们写程序一样,好的程序,往往是先把程序逻辑框架想清楚了,然后在补充一些子函数,就OK 了。否则的话,一开头就写详细细节代码,往往容易缺这些,漏那块。

不过语言比较毕竟和程序有些差别,特别是在分类的时候,建议大家在进行分类的时候,使用能够覆盖所有情况,但各种情况之间又不互相重复的分类方式,即相对独立,完全覆盖。比如对人的分类可以用:男人、女人;不要使用类似老人、妇女、儿童这样的。我们知道,如果这是在编程,编译器会帮我们自动发现这些错误,但是说话的时候,是自己在对自己负责,所以很容易犯错。

这里面还有一个逻辑,那就是即使说服不了对方,也是可以接受的结果。千万不要感觉必须说服对方,好像说服不了,就得死掉一样。这个逻辑思路一定要常记心里。

转载于:https://www.cnblogs.com/ohmyjava/archive/2009/10/12/2141788.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值