首页  

编程心法     所属分类 architecture 浏览量 2104
重构是重要技能
先profiler,再谈优化。
软件设计两种套路:使软件过于简单,明显没有缺陷;使软件过于复杂,没有明显的缺陷。
注释要少儿精,杜绝大姨妈般的“例注”,漫山遍野的碎碎念注释,都是垃圾。
普通程序员+搜索引擎=超级程序员
最开始的 90% 代码占用了开始的90% 的开发时间 ,剩下 10% 代码同样需要 90% 的开发时间。
单元测试总是划算的
不要先写框架再写实现。最好反过来,从原型中提炼框架。
代码结构清晰,其它问题都不算事儿。
用几个小时来制定计划,可以节省几周的编程时间。
好的项目作风硬派,一键测试,一键发布,一键部署; 烂的项目生性猥琐,口口相传,不立文字,神神秘秘。
编码不要畏惧变化,要拥抱变化。
任何傻瓜都能写出计算机可以理解的代码,好的程序员能写出人能读懂的代码
编程之事,隔离是方向,起名是关键,测试是主角,调试是补充,版本控制是后悔药
重构/优化/修复Bug,同时只能干一件
简单模块注意封装,复杂模块注意分层
人脑性能有限,整洁胜于杂乱。读不懂的代码,尝试整理下格式; 不好用的接口,尝试重新封装下。
迭代速度决定工作强度。想多快好省,就从简化开发流程,加快迭代速度开始。
忘掉优化写代码,过早优化等同恶意破坏,优化要基于性能测试
世上只有两种编程语言:一种是总是被人骂的,一种是从来没人用的
最好的工具是纸和笔,其次是markdown。
leader问任务排期,若答不上来,可能是任务拆分还不够细。
调试一个初次见到的代码比重写代码要困难两倍。
宁可多算一周,不可少估一天。
最有用的语言是English,其次可能是Java
百闻不如一见,画出结果,一目了然。
质量、速度、廉价,选择其中两个。
不要基于想象开发,要基于原型开发。原型的价值是快速验证想法,节省时间。
生命太短暂,不要去做一些根本没有人想要的东西。
序列化首选明文,诸如二进制、混淆、加密、压缩等有需要时再加。
高质量的代码就是最好的注释。
编译器永远比你懂微观优化,只能向它不擅长的方向努力。
至少半数时间将花在集成上。时间,时间,时间总是不够。
靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度。
与主流意见/方法/风格/习惯相悖时,先检讨自己最可靠。
出现bug主动查,这能让你业务能力猛涨、个人形象飙升
能说算不上什么,有本事就show出你的代码 
不知怎么选技术书时就挑薄的,起码不会太贵,且能看完。
选择一门语言,意味着你选择了一组技术、一个社区。
git是最棒的,简单,可靠,免费。
仅对“可预测的非理性”抛断言。
没有什么代码的执行速度比空代码更快。
Log要写时间与分类,且能重定向输出。
注释是次要的文档,最好的让代码讲自己的故事。
软件在能够复用前必须先能用。
造轮子是很好的锻炼方法,前提是你见过别的轮子。
蠢人信誓旦旦,智人满腹狐疑。
code review最好以小组/结对的形式。对业务有一定了解,建议会更有价值。管理员个人review则容易成为team的瓶颈。
提问前先做调研 
软件工程的目标是控制复杂度,而不是增加复杂性。
控制复杂性是计算机编程的本质
计算机科学领域的所有问题都可以通过其他方式间接解决。
这不是一个 bug,这只是一个未列出来的特性。
永远别小看程序媛

上一篇     下一篇
程序员的誓言 

zookeeper使用场景

arthas使用

arthas watch 使用

arthas tt 使用

arthas OGNL 使用