美文网首页
先去做 然后再说

先去做 然后再说

作者: woodywoo2017 | 来源:发表于2019-08-22 17:59 被阅读0次

    今天看到一个人写的代码,突然想到一个世界观的问题。略记一下。

    不会编程的大概也能看懂:

    这是一个字典:就是用户的ID映射到用户名。

     name_for_userid = {121: 'Mike',
                        143: 'Sara',
                        332: 'David'}
    

    然后写一个打招呼的函数greeting(),根据用户ID返回相应的问候语。

    def greeting(userid):
        if userid in name_for_userid:
           return 'Hello %s!' % name_for_userid[userid]
        else:
           return 'Hello new friend!'
    

    这个函数很简单,就是传入用户ID,检查用户ID是否存在,如果存在,就取得相应的用户名(比如 Mike),打招呼的内容就是:Hello Mike,如果不存在,打招呼的内容就是:Hello new friend!

    这个函数还可以有另一个写法:

    def greeting(userid):
        try:
          return 'Hello %s!' % name_for_userid[userid]
        except KeyError:
          return 'Hello new friend!'
    

    这两个函数的功能是一样的。但逻辑不太一样。第二个函数的逻辑是这样:我给了你用户ID,请把它的用户名告诉我。程序没找到ID的话就会报错,然后我们处理这个错误。

    总之。第一种方法,是做事之前先过问,看一下需要的东西有没有。第二种方法,是直接去做,做的过程中发现有问题,再去处理这个问题。

    再简化。第一种方法可以叫做:三思而后行。第二种方法是:先斩后奏,先做了再说。

    我觉得很多人估计都喜欢第一种方法吧。而我呢,始终是喜欢第二种方法的。

    为什么呢?就拿上面的两个函数来说吧,第一个函数的效率要比第二个低,因为它先去查一下ID存不存在,如果存在的话,再去查ID的用户名。实际查了两遍字典。

    其他的事情也是这样的。如果你先花很多精力去调查,看能不能做,最后的结论多半是做不了(因为事情的不确定性本来就很高)。于是,你那些调查的精力就白费了。

    我真的认识一个朋友,从2014年就说要创业。几年过去,再遇到他,他还是没创过业,聊起来倒是头头是道,讲他调研过多少多少项目。其实我想问一句:这样有意思吗?

    我失败过。但不后悔。我并不认为我的失败是因为冲动。因为如果没有冲动,连失败都不会有。也就那样在各种调研和观望中浪费了无数时间。

    我也并不是怂恿大家冲动行事。只是表明我比较喜欢第二个函数的逻辑:先去做,遇到问题再说。如果所有的问题都考虑周全,那就不会去做了,考虑的那些时间也就白费了。然后又去考虑下一个,然后又不去做,然后又浪费了。

    相关文章

      网友评论

          本文标题:先去做 然后再说

          本文链接:https://www.haomeiwen.com/subject/afjosctx.html