为什么进步太慢,因为你没有一个好习惯

原文地址: https://www.jianshu.com/p/4188476f1a1d

有人问我如何做好架构设计?怎样灵活运用设计模式?我的回答是,你做不好这些只是因为你没有养成一个良好的编程习惯

我为什么写这么多开源框架,还长期保持维护?

除了我想让更多人受益于开源外,还有一点就是,我想保持我良好的编程习惯

写业务代码也可以保持良好的编程习惯啊

能,但是太慢!

写业务时无法注意到的细节

在写业务代码时,即使项目时间充裕,你也会忽略掉很多细节,而这些细节正是影响你进步速度的关键,但你自己却很难察觉,在不知不觉间就对你的进阶之路造成了很大的影响

所以你的进步速度非常之慢,做了多年也只是熟练而已,无法更进一步

业务代码和框架代码最直观的差别就是,业务代码可以随意修改,而框架代码,使用者不能直接修改

由于业务代码的修改不受限制,所以一有需求变动,你就直接通过修改问题代码的方式来快速解决问题,即使这个代码的变动非常频繁,但你的第一反应却不是通过代码设计的方式来解决后续的扩展问题,因为这看似一劳永逸的方式,会浪费你当下大量的时间

人类的潜意识会更注重当下付出的成本,而忽略掉未来会获得的收益

因为你上面的编码方式,所养成的不好的编程习惯,会让你本能的不注重代码的耦合性、灵活性、可扩展性

所以即使你天天敲代码,你的进步也如此之慢,因为你平时就缺乏架构设计、代码设计的锻炼,日积月累,你也只是搬砖的速度比之前更快一点而已

写开源框架时给你带来的改变

这个时候如果有一个好的 leader 能每天 review 你的代码,还时常提醒你这些问题,只要你慢慢改成,并养成习惯,那你的进阶之路也会十分顺畅

但如此好的 leader 是可遇不可求的,那我们如果没有一个好 leader,该如何养成一个好习惯呢?

我的建议就是做开源库,而且尽量做开源框架,比如架构框架、UI 框架,网络框架、图片框架,尽量少做开源 App(当然如果为了学习某项技术也是可以的)

因为开源 App 主要是帮助你和别人学习某些技术,也是有大量的业务代码存在的,无非就是用了一些新的技术,而且还是你一个人写,有些细节你更不会考虑 …

而开源框架是拿给别人调用的,所以对代码质量要求更高,考虑的细节更多,对你的提升也越大

并且你的框架代码是放在服务器上的,使用者无法修改你的代码,这就会强迫你更关注代码的耦合性、灵活性、可扩展性,甚至是你写业务时根本不会注重的注释和文档

因为使用者用得稍有不爽就会给你发起 issue,不断地督促你优化你的代码、注释、文档,不断地帮助你培养一个良好的编程习惯

这就好比你有成百上千个好 leader 每天 review 你的代码,并指出你的问题,给予更好的建议,而且这些 leader 中绝对藏龙卧虎,这样日积月累下去,你怎能不成长?

良好的编程习惯助你快速进步

我的很多编程习惯,经过不断的纠错,优化,纠错,优化,已经深深的刻进我的脑子里了

我框架用到的大多数设计模式,都不是我刻意去用的,都是遇到某些问题,或者使用者需要增加什么功能,我为了不影响之前的版本,保证扩展性的前提下,去解决这些问题,而不得不去使用这些设计模式,很多情况下,代码已经写完了,才知道,原来我用的是 xx 设计模式

在这种不断优化代码,养成的良好编程习惯下,我写代码时,使用设计模式已经变成了潜意识的行为,根本说不出为什么要用这个设计模式,只因为觉得这样用才是最优解,这就好比拳击手,遇到攻击时会潜意识的躲闪、反击一样,这就是不断实战、不断训练的结果

我的所有开源框架加起来每个月平均下载量在 5 万左右,每天都有各种 issue 向我飞来,这些成千上万的使用者(监督者),迫使我不断地优化自己的代码,甚至连每个注释我都精雕细琢

框架要做到满足所有人的需求太难了,但只要你不断优化,能做到让大部分人满意,那对你的提升绝对是巨大的,而且你的编程习惯也会有巨大的飞跃

比如我写注释的编程习惯培养起来后,我的每个开源框架,都写了大量的注释,描述的非常详细,保证大部分人都能明白原理,但还是有很多人跑过来问我文档和注释上已经写了的问题

我真的是吐血,兄弟,我真不想回答,你杀了我好吧 …

一个好的习惯,坚持一天,就往目标前进一步

一个坏的习惯,持续一天,也就浪费一天时间

我做开源三年时间改掉了我很多不好的编程习惯,让我进步飞速,所以我感谢开源

我也鼓励更多的人积极参与开源,让别人受益的同时,别人也让你不断进步

当然做开源,并不只是代码写的好,就能收获大量的 star,他还需要综合性的能力,比如框架定位、产品需求分析、运营、推广等很多东西,其中最重要的就是持续维护

我去年创新的新框架 AndroidAutoSize,上线一个月时间就 3k star,现在每个月有 2 万以上的下载量,超过我之前的所有开源框架,这就是因为我之前所积累的开源经验所赐,关于 Github 的运营之道后面我也会分享的

公众号

扫码关注我的公众号 JessYan,一起学习进步,如果框架有更新,我也会在公众号上第一时间通知大家

公众号

Hello 我叫 JessYan,如果您喜欢我的文章,可以在以下平台关注我

-- The end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335