池建强:你是个自律的程序员么?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
查看查看136 回复回复1 收藏收藏 分享淘帖 转播转播 分享分享 微信
查看: 136|回复: 1
收起左侧

池建强:你是个自律的程序员么?

[复制链接]
手表哥 发表于 2016-7-27 20:01:38 | 显示全部楼层 |阅读模式
快来登录
获取优质的苹果资讯内容
收藏热门的iOS等技术干货
拷贝下载Swift Demo源代码
订阅梳理好了的知识点专辑
一对程序员和产品经理在经历了漫长的沟通、纠结、讨论、争论、妥协、哭求、威逼、利诱……之后,终于在需求和实现上达成了一致。产品经理喘着粗气说,你说让你做点东西容易吗?我特么要会编程,有这功夫,Demo 都能写出来。程序员冷冷的说,你知道 Demo 离最终发布有多遥远吗?

多远?

Demo 是从望京到五环,发布是从五环到呼和浩特,走八达岭高速,还得堵车。

没那么远,这次需求就提到了八达岭!

眼看着就杵到官厅水库了……你们产品经理就不能自律一点?你看人家微信朋友圈的产品经理,发布了这些年,现在看起来还是一样一样的……

人家那叫节制!咱这产品特性,再节制,发布时就只能写「修复了 bug,提升了性能」了。你们才需要自律,多写点程序,少埋点 bug,咱们就能多几回迭代!

程序员不需要自律!

那你们需要自重?

你们才需要自重!我们需要休假……


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

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

池建强:你是个自律的程序员么? 1

池建强:你是个自律的程序员么? - 敏捷大拇指 - 池建强:你是个自律的程序员么? 1

题图:Books from Inspiretheimagination




1、生活上的自律

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

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

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


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

日常生活中,存在这么两条路。一条路诱惑我们只根据自己的冲动和直觉来生活。这条路可以称为「宠物之路」,因为所有的动物,包括家里养的宠物狗走的都是这条路。饿了就吃,吃完就算。只在得到回报时才会献出忠诚。感觉什么好,就再来;什么有害,就躲开。

而另一条路没什么明显的标志,是充满抗争的路。在这条路上,我们说了算,自己当家。除了激情,基因还赋予我们意志力和有意识控制自己行为的能力。拥有这些特殊的人类能力,我们就能超越自己的动物本能。


第二条路就是自律之路。




2、写出自律的代码

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

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

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

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

这不是自律的代码。

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

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

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


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




3、身体上的自律

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

池建强:你是个自律的程序员么? 2

池建强:你是个自律的程序员么? - 敏捷大拇指 - 池建强:你是个自律的程序员么? 2


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

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

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

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

池建强:你是个自律的程序员么? 3

池建强:你是个自律的程序员么? - 敏捷大拇指 - 池建强:你是个自律的程序员么? 3


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




4、结语

在健身房我看到了两个程序员,身材迥异,一个梨型,一个倒三角。梨问三角:

你身材怎么保持的这么好?

保持是没用的,只能不断的、有规划的练习,才有效果。

你练了多久了?

快两年了。

我靠你怎么能坚持两年呢?我可以坚持吃两年望京小腰!

因为我有「Keep」啊,自律给我自由!

啊,Keep 是啥?





6、关于 Keep

「Keep」是一款优秀的社交型健身 App,入选「App Store 2015 年度精选」并被预装到大中华区全部苹果零售店。Keep 于2015年2月上线,现在已有近 4000 万人跟着 Keep 锻炼。

池建强:你是个自律的程序员么? 4

池建强:你是个自律的程序员么? - 敏捷大拇指 - 池建强:你是个自律的程序员么? 4


轻巧、傻瓜化、随时随地是「Keep」的特点,不同层次、不同需求的用户都能找到符合自己需求的视频课程,得到相关的系统性指导,对入门者来说可以避免走很多弯路,科学且人性化的训练机制则可以帮助用户更好地坚持下去。

除了健身视频之外,Keep 还推出了跑步和电商两大功能,解决用户的多种运动需求。

「自律给我自由」是 Keep 正式提出的第一个品牌宣言,这是一部程序员看了也想立刻运动起来的创意短片



目前 Keep 正在招 Java, Android, iOS, 数据和前端工程师,感兴趣的可发简历到 hr@gotokeep.com




都看到这里了,就把这篇资料推荐给您的好朋友吧,让他们也感受一下。

回帖是一种美德,也是对楼主发帖的尊重和支持。

*声明:敏捷大拇指是全球最大的Swift开发者社区、苹果粉丝家园、智能移动门户,所载内容仅限于传递更多最新信息,并不意味赞同其观点或证实其描述;内容仅供参考,并非绝对正确的建议。本站不对上述信息的真实性、合法性、完整性做出保证;转载请注明来源并加上本站链接,敏捷大拇指将保留所有法律权益。如有疑问或建议,邮件至marketing@swifthumb.com

*联系:微信公众平台:“swifthumb” / 腾讯微博:@swifthumb / 新浪微博:@swifthumb / 官方QQ一群:343549891(满) / 官方QQ二群:245285613 ,需要报上用户名才会被同意进群,请先注册敏捷大拇指

嗯,不错!期待更多好内容,支持一把:
支持敏捷大拇指,用支付宝支付10.24元 支持敏捷大拇指,用微信支付10.24元

评分

参与人数 1金钱 +10 收起 理由
Anewczs + 10 推送上首页了~分享到朋友圈微博QQ空间吧~.

查看全部评分

本帖被以下淘专辑推荐:

代码买卖 发表于 2016-7-28 01:55:27 | 显示全部楼层
我不是。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

做任务,领红包。
我要发帖

分享扩散

都看到这里了,就把这资料推荐给您的好朋友吧,让他们也感受一下。
您的每一位朋友访问此永久链接后,您都将获得相应的金钱积分奖励
热门推荐

合作伙伴

Swift小苹果

  • 北京治世天下科技有限公司
  • ©2014-2016 敏捷大拇指
  • 京ICP备14029482号
  • Powered by Discuz! X3.1 Licensed
  • swifthumb Wechat Code
  •   
快速回复 返回顶部 返回列表