摘抄自微信公众号 编程一生

  • 问别人之前最好先自己百度,google一下,以免问出太低级的问题。
  • 要有多自律,就有多自由,保持严谨,不失弹性。
  • 高效率,慢生活。
  • 格局决定结局,态度决定高度。
  • 别说你爬过的山,只有早高峰。
  • 只有重塑自己的习惯,才能过上自己想要的人生。
  • 考虑可维护性比考虑性能更重要。
  • 请勿久坐,多喝水,尤其是遇到很久都解决不了的问题的时候,多走动走动。
  • 普通程序员+google=超级程序员。实在不行,百度也可以,学会利用搜索引擎来辅助自己解决问题。
  • 一个好的程序员是那种过单行线马路都要往两边看的人。
  • 编程时要保持这种心态:就好像将来要维护你这些代码的人是一位残暴的精神病患者,而且他知道你住在哪。
  • 任何你写的代码,超过6个月不去看它,当你再看时,都像是别人写的。 --Eagleson's law
  • 从小事做起,然后再扩展。
  • 熬夜低效率写代码,不如好好睡觉。
  • 让自己变得更好,是解决一切问题的关键。
  • 发版后出了问题第一时间回滚,千万不要想不可能是自己造成的。
  • 每周五抽出时间问一下上下游业务方,目前有什么问题吗?
  • 上线前问自己:你有多大把握不出问题?
  • 所有事情所花费的时间总是比你预期的要长。
  • 是人就是要死的,是机器就是要坏的,是程序就是要出bug的。
  • 修复已知错误,然后再看看有没有遗漏的地方。
  • 尽早地添加日志记录和错误处理。
  • 一次只改变一件事。
  • 在整体测试之前先进行模块测试。
  • 把觉得不靠谱的需求放到最后做,很可能到时候需求就变了,或者取消了。
  • 读好书,垃圾书会浪费你的时间。
  • 不要炫技,面向人脑编程更便于维护。
  • 没事别重复造轮子,你造的轮子大多数时候只有你觉得好用。接手你的轮子的人会在背后骂你上百遍。
  • 不要先写框架再写实现。最好反过来,从原型中提炼框架。
  • 新技术一定不要找书,书一旦印出来就过时了。
  • 作为前端开发者,使用双显示器能大幅提高开发效率。
  • 再精密的机器,拆开看都是简单的小螺丝。
  • 我走过最长的路,就是你的套路。
  • 要事重复做,重复流程化,流程用工具,工具自动化。
  • 时间管理的本质,是对事件进行分类,排序。
  • 腾讯微博:与其在别处观望,不如在这里并肩。
  • 比起鼓励师,不如给程序员找一个靠谱的产品经理。
  • 中午不睡,下午崩溃。
  • 一个团队,需要5个共享:文件、日程、清单、群聊、知识管理。
  • 小米手机:一面是科技,一面是艺术。
  • 中兴手机:因为专注所以专业。
  • 锤子手机:漂亮的不像实力派。
  • 越难解决的bug往往犯的错误越低级。
  • 多沟通,不少加班工作是由于沟通少造成的。
  • 你遇到的问题,大多数人都遇到过,并且网上都有完整的解决方案,你找不到,只是你懒得去找。
  • 没有巧合。
  • 面对面的交流最有效。
  • 带着问题睡觉。
  • 打好日志,不要指望复现来查找原因。
  • 真的勇士,敢于直面惨淡的warning,敢于正视淋漓的error。
  • 删除的代码是没有Bug的代码。 --Jeff Sickel
  • 当你想在你的代码中找到一个错误时,这很难;当你认为你的代码是不会有错误时,这就更难了。 --Steve McConnell 《代码大全》
  • 如果建筑工人盖房子的方式跟程序员写程序一样,那第一只飞来的啄木鸟就将毁掉人类文明。 --Gerald Weinberg
  • 项目开发的六个阶段:充满热情、醒悟、痛苦、找出罪魁祸首、惩罚无辜、褒奖闲人。
  • 你必需强迫自己接受应有的骄傲,真正赞叹自己,摆脱外界评价,独立思维。 --叔本华
  • 不能一味钻研技术,然后再考虑用在什么产品上,以及用什么方法卖出去,应用产品主导思维,从客户体验出发,继而回头考虑技术上的可行性。从产品出发再回溯到技术上实现。把别人复杂的东西变得简洁。 --乔布斯
  • 做对用户有价值的事,保持自身的价值观,因为它体现在产品和服务中,保持小团队,保持敏捷,学习和快速迭代比过去的经验更重要,系统思维,让用户带来用户,口碑赢得口碑,思辨胜于执行。 --张小龙
  • 如果你拷问数据到一定程度,它会坦白一切。
  • 数据本身是无用的,除非你从中获取到有价值的洞察。
  • 我们只信奉上帝,其他人都必须携数据而来。
  • 我们不是为了做技术而做技术,做技术是为了满足人类需求的。
  • 完美主义是好事儿,但是,坚持完美主义的同时要限时限量地完成,才能形成执行力。
  • 摩托罗拉公司对缺陷的定义是:“如果顾客不喜欢,那该产品就是有缺陷。”
  • 越是好的公司,越是好的项目组在招开发人员时他们面的东西越是底层。
  • 提升码农亩产,掰直码农方向,授人以渔,功德无量,利在千秋。
  • 大牛仅仅是利用他们所掌握的“原理级”技术,将“应用级”技术进行不同的排列组合而已。
  • 一个人写的烂软件会给另一个人带来一份全职工作。 --Jessica Gaston
  • 按代码行数来评估软件开发的进度,就如同按重量来评估飞机建造的进度。 --比尔-盖茨
  • 在水上行走和按需求文档开发软件都是很容易——前提是它们都是冻结状态。 --Edward V Berard
  • 世界上只有两类编程语言:那些拥有被人诟病的和那些没人用的。 --Bjarne Stroustrup
  • 注释代码很像清洁你的厕所——你不想干,但如果你做了,这绝对会给你和你的客人带来更愉悦的体验。 --Ryan Campbell
  • 培养员工,即使他们有跳槽的风险。什么都不做而留他们在公司,这样风险更大。
  • 面向运维编程。
  • 做正确的事而不是容易的事。
  • 前期追深度,否则会华而不实,后期追广度,否则会坐井观天。
  • 年薪月薪是相当有欺骗性的东西。真正起作用的,是时薪,你一定要看看自己的单位时间是否更加值钱。
  • 要有足够的 “亮剑” 资本。
  • 技术之路最公平也最残酷的原因是:没有捷径,需要日积月累的积累,以及对技术持久的热情。
  • 是否使用框架,使用什么样的框架,这都不是重要的,重要的是我们要有框架的意识。
  • 想法把自己变得不重要,以实现其他重要的目标。
  • 一种新技术一旦开始流行,你要么坐上压路机,要么成为铺路石。--Stewart Brand
  • 预备,开火,瞄准:这是最快的软件开发方法。预备,瞄准,瞄准,瞄准,瞄准:这是最慢的软件开发方法。
  • 评估一个事情要比去理解你评估了什么容易。
  • 提高知识和技术知识只是问题的表面。根本是要提高自己认识问题、分析问题、解决问题的思想高度。
  • 养成总结与反思的习惯,并有意识地提炼出工作成果,形成自己的个人源码库、解决某类问题的通用系统体系结构、甚至进化为框架。
  • 在一种语言上编程,但别为其束缚了思想。
  • 上线代码前问自己一个问题:我怎么证明自己的代码是对的。
  • 流程是用来保证底线的,自己的能力决定上限。
  • 很多事情只要做了就可以,比如:给开源项目贡献代码。
  • 昨晚多几分钟的准备,今天少几小时的麻烦。
  • 做对的事情比把事情做对重要。
  • 只有一条路不能选择——那就是放弃的路;只有一条路不能拒绝——那就是成长的路。
  • 很多人都在谈论AI,我不担心机器人会像人一样思考,我担心人像机器一样思考 --苹果首席执行官库克
  • 要应付面试并通过面试并不难,但是,千万不要应付你的人生,你学技术不是用来面试的,它至少来说是你谋生的技能,要尊重自己的谋生技能,说不定哪天你要用这些技能造福社会、改变世界的。
  • 99%的程序员把时间花在了超长加班,花在了朋友圈微博知乎和今日头条,他们的英文能力有限,不能获取第一手的资料,所以只要你看英文文章,能静下心来读几本好书,写写博客,做一些训练,完全不用努力,你就可以超越99%的人。 --出自《左耳听风》陈皓
  • 很多问题不见得会出在你身上,但你亦需要想法解决问题,否则就会变成你的问题。
  • 懂得但策略的说不(不会这个准备累死吧,程序员)。
  • 不断规划与寻找自己的人生,想法把自己变重要。
  • 简单是可靠的前提条件。
  • 真正程序员从来不写代码的注释,如果代码非常难写,那么同样代码的注释也会非常难懂。
  • 看看当前计算机程序糟糕的事态,软件开发明显一直是一门妖术,其仍然不能被称为一个工程学。 --比尔.克林顿 美国前总统
  • 任何业绩的质变都来自于量变的积累。
  • 不为失败找理由,要为成功找方法。
  • 十年生死两茫茫,写bug,到天亮。相顾无言,唯有泪千行。料得明日上线后,需求改,又白忙。
  • 避免过早优化。
  • 三次化简方案。
  • Talk is cheap, show me the data!
  • 支持幂等是一个接口的基本素养。
  • 站在巨人的肩膀上,别重复造轮子。
  • 做减法设计。
  • 选择决定命运,认知决定选择。
  • 早重构,常重构。
  • 不要假定,要证明。
  • 先做小做精,再做大做全。
  • 目标高远,脚踏实地。
  • 与用户一同工作,以像用户一样思考。 --《程序员修炼之道》
  • 多思考,想清楚,查明白,慢动手。
  • 程序总是会出问题的,做好兜底。
  • 要解决一个问题,第一树立好目标,第二划分好阶段。
  • 故障是常态。Don't try to avoid failure! Embrace them!
  • 写任何一段代码问自己两个问题:1. 怎么证明自己是对的?2. 出问题了怎么办?
  • 事前、事中、事后。
  • 任何团队的核心骨干,都必须学会在没有鼓励,没有认可,没有帮助,没有理解,没有宽容,没有退路,只有压力的情况下,一起和团队获得胜利。成功,只有一个定义,就是对结果负责。如果你靠别人的鼓励才能发光,你最多算个灯泡。我们必须成为发动机,去影响其他人发光,你自然就是核心!-- 马云
  • 最好维护的代码是还没有写出来的代码,三思而后行。
  • 一个成功的、积极的学习者应该是一个愿意改变自己思想的人。
  • 做任何事情之前,先定义完成的标准。
  • 优秀程序员应该有三大美德:懒惰、急躁和傲慢。
  • 事情往前做,有问题尽早暴露。
  • 用业务的语言写代码。
  • 排查问题的最高境界是只通过review代码来发现问题。
  • 软件设计的核心在于降低复杂性。
  • 默认所有需求都不做,直到弄清楚为什么要做这件事。
  • 比做什么事更重要的是找对做事的人。
  • 要多想着怎么把蛋糕做大,而非怎样切蛋糕才能使自己获得最大的一块。
  • 痛苦 + 反思 = 进步
  • 对程序员最好的惩罚是让他维护自己三个月前写的代码。
  • 了解一个项目,从大图景开始。
  • 比被要求的多做一点。
  • 自己思考:你想要什么?事实是什么?如何行动?
  • 跳出程序员思维,扩大自己的上下文。
  • 动手做一个工作之前,请先对它进行任务分解。