前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >培养自律的生活方式

培养自律的生活方式

作者头像
腾讯云开发者社区
修改2020-03-20 19:07:50
5190
修改2020-03-20 19:07:50
举报

2020 年的工作正式开启,大多数开发者的开工方式是云办公。对开发者来说,云办公意味着什么?如何开始云办公?云办公的发展趋势会怎样?基于此,腾讯云开发者社区联手知乎科技,从知乎云办公相关话题中精选内容落地社区专题「 开发者云办公模式洞察 」。

本文为相关“开发者云办公模式洞察之如何开始云办公“的精华问答分享。

一对程序员和产品经理在经历了漫长的沟通、纠结、讨论、争论、妥协、哭求、威逼、利诱……之后,终于在需求和实现上达成了一致。产品经理喘着粗气说,你说让你做点东西容易吗?我特么要会编程,有这功夫,Demo 都能写出来。程序员冷冷的说,你知道 Demo 离最终发布有多遥远吗?

多远? Demo 是从望京到五环,发布是从五环到呼和浩特,走八达岭高速,还得堵车。 没那么远,这次需求就提到了八达岭! 眼看着就杵到官厅水库了……你们产品经理就不能自律一点?你看人家微信朋友圈的产品经理,发布了这些年,现在看起来还是一样一样的…… 人家那叫节制!咱这产品特性,再节制,发布时就只能写「修复了 bug,提升了性能」了。你们才需要自律,多写点程序,少埋点 bug,咱们就能多几回迭代! 程序员不需要自律! 那你们需要自重? 你们才需要自重!我们需要休假……

讨论不欢而散,现在问题来了,程序员到底需不需要自律呢?

程序员当然需要自律,事实上每个人都应该自律!

生活上的自律

我们从一出生看到没熟人就放声大哭的开始,就以为自己是世界的中心,万事万物都是围绕着自己旋转。时光流逝,终于有一天,我们发现了事情的真相,连太阳都不是宇宙的中心,这时候我们获得了第一次成长。成长就会有边界,有诱惑,有些需要突破,有些需要节制。在这个阶段有一部分人拥有了自律的能力,并获得了第二次成长。很多人终其一生都不具备自律的能力,因为我们的大脑从来就不是个「顺从的仆人」。

我们给计算机输入指令,它就会严格执行,即使指令是错的。计算机不会顶嘴和自作主张(至少目前还不会),但是大脑不同,它很有主见。我们告诉大脑要多吃青菜少吃肉,多锻炼少赖床,大脑哈哈一笑不置一词,等看见望京小腰依然会冲上去吃得像个开心的孩子。

「你伤害了我,还一笑而过……」。嗯,这首歌就是给大脑写的。

如果你发现自己也是这样,别担心,这是基因决定的。在如何长出啤酒肚、乱花钱、睡懒觉、暴饮暴食方面,我们每个人都是行家里手,都是专家。特里·博纳姆在《本能》里写道:

日常生活中,存在这么两条路。一条路诱惑我们只根据自己的冲动和直觉来生活。这条路可以称为「宠物之路」,因为所有的动物,包括家里养的宠物狗走的都是这条路。饿了就吃,吃完就算。只在得到回报时才会献出忠诚。感觉什么好,就再来;什么有害,就躲开。 而另一条路没什么明显的标志,是充满抗争的路。在这条路上,我们说了算,自己当家。除了激情,基因还赋予我们意志力和有意识控制自己行为的能力。拥有这些特殊的人类能力,我们就能超越自己的动物本能。

第二条路就是自律之路。

写出自律的代码

很多人以为程序员呆板、枯燥、无趣,你们多自律啊,你们不学习还能干啥,世界上最厚的砖头书不都被你们啃了么?其实这是个彻头彻尾的错觉。与普通人喜欢扎堆扯淡相比,大部分程序员只是更喜欢和机器待在一起,但这不意味着他们不热爱生活。女生能投入多少时间在衣服和化妆品上,程序员们就能花多少时间在电子设备、游戏和互联网上。没有自我约束,刷个朋友圈,一下午就过去,再刷个美剧,一个周末就过去了。你会发现,除了规划外的事情,什么都没有发生。

目前看来,IT 领域是这个星球上知识和讯息更新换代最为猛烈的行业,无论你想成为全栈式(链接)、半栈式、一栈式,想要站立在潮头不到,你就需要不停的 keep on doing sth,刻意练习,让正确的事持续发生。要做到这一点,没有强大的内心和自我控制能力,是不可能实现。

除了生活中的自律,程序员还要写出自律的代码。

记得有一段时间设计模式非常流行,我在做 Code Review 的时候,发现一个程序员写的代码极度复杂,简单的业务逻辑,搞出了一堆接口、抽象类和类,相互依赖、扭曲、缠绕在一起。当你以为在执行 A 方法的时候,扑进去一看,原来丫在调用超类的子方法;当你纠结于某个实例是怎么 new 出来的时候,最终发现有些子类是配置到了模板文件里,用的时候动态加载。我把这个程序员叫过来,问,这么简单的业务逻辑你搞这么多花活干嘛?觉得我 Code Review 的工作量不饱满吗?他支吾着说,嗷,我只是想试验一下设计模式的弹性。我说您以为自己钱钟书呢吧,改去!

这不是自律的代码。

自律的代码应该是简单的、直接的、容易读懂的、便于调试的。剔除一切炫技和刻意的设计,返璞归真。很多人经常把 Java 和设计模式等同在一起,其实完全可以使用 Java 写出非常简单的代码,而不使用设计模式。专注于问题,而不是去追求最新最酷的语法,你会发现可以用自律的代码去解决问题,而且解决得干净利落。

其实有些设计原则已经包含了自律的逻辑在里面,比如:

  • 定义含义明确的接口:通过接口名称和参数让调用者知道这个接口的功能。如果一个开发人员为了使用一个组件必须要去研究它的实现,那么就失去了封装的意义。
  • 无副作用函数和职责单一原则:保证函数的独立性,对传入参数的修改,不会影响原来的对象。让某个类或函数尽可能具备且只具备一个职责,避免把更多的功能耦合在一个类或方法里。
  • 概念轮廓原则(Conceptual Contour):通过坝或其他手段把一个湖分割为几块,在任何一块中投入石子都不会影响其他部分。把设计元素(行为、接口、类、聚合等)分解为内聚单元。通过重构,找出模型中经常变化的部分和基本稳定的部分,分别实现。
  • ……

自律的代码可以让程序获得更长久的生命力,也会获得更大的空间和自由。最早死去的,最早被抛弃的,永远是那些不懂节制和功能繁复的代码,不要问我是怎么知道的。

身体上的自律

每个人都希望拥有一个健康甚至健美的身体,但是并没有,因为具备强大自控力的人始终是少数。饮食的控制就不说了,光是运动这件事已经可以刷掉95%以上的人。在大部分人的脑海里,去健身房跑40分钟再做半小时的无氧运动,无论有多大的好处,始终是一件苦差事。所以,健身房的常客永远是那些身材健美面色红润的美女和硬汉,他们早已克服了早期的不适,战胜了大脑,并享受了长期坚持健身的诸多好处,并乐在其中。

坚持有多难?我一个极为优秀和聪明的朋友,承诺了每天早晨7点钟起来跑步,也经常以各种理由和接口躲避这个行为。

坚持有多重要?你练习了十个月,然后在第十一个月由于某个漫不经心的事件意外中止了。不要以为这十个月的成果你可以一直拥有,很快,它会像落到人行道上的夏日冷雨,悄然逝去,了无踪迹。

写到这里我想起了 Facebook 的创始人扎克伯格,这哥们可谓是自律程序员的典范。扎克从小就开始编写代码,中学时期开发出了 Zucknet,号称 AOL 通信软件原型;高中时代创作了名为 Synapse Media Player 的音乐程序,通过人工智能来学习用户听音乐的习惯,被 PC Magazine 的五星评价为3颗星;在哈佛大学里花费9天时间开发thefacebook,Facebook 的原型,随后创建了知名社交网站 Facebook,名扬天下。

成为亿万富翁之后,扎克依然保持了朴素的生活态度,并且为自己制定了每年一项新挑战。2009年的挑战是每天打领带,2010年是学中文,2012年是坚持每天写代码,2015年是阅读,每两周读完一本书,2016年,是跑步……

写完这篇文章,我就去健身房了。

原文首发公众号「MacTalk」,有兴趣的话可以搜索「sagacity-mac」关注一下。

作者:池建强 青峰之巅,山外之山

链接:https://zhuanlan.zhihu.com/p/21688333

来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 生活上的自律
  • 写出自律的代码
  • 身体上的自律
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档