来源:知乎
作者:大狐狸
原文地址:https://www.zhihu.com/question/36426051/answer/76031743
在知乎上,总能看到一些达人犀利的回复。今天小编分享来自大狐狸 为新手程序员分享的一些你所不知道的小技巧。相信看过后,你会有所收获。
本来只是分享几条看法,没想到会有这么多人喜欢。我再补充一些,希望能对进阶中的程序朋友有帮助。手机敲得,比较凌乱。作为个人意见仅供参考。
- 重构是程序员的主力技能。
- 工作日志能提升脑容量。
- 先用profiler调查,才有脸谈优化。
- 注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。
- 普通程序员+google=超级程序员。
- 写单元测试总是合算的。
- 不要先写框架再写实现。最好反过来,从原型中提炼框架。
- 代码结构清晰,其它问题都不算事儿。
- 管理行不行,就看工作流。
- 编码不要畏惧变化,要拥抱变化。
- 常充电。程序员只有一种死法:土死的。
- 对于编程,隔离是方向,起名是关键,测试是主角,调试是补充,版本控制是后悔药。
- 一行代码一个兵。必须形成函数/类/模块等建制才能打仗。否则就是一盘散沙。可不可以千人班,万人排呀?不怕变成万人坑你就上。
- 重构/优化/修复Bug,同时只能作一件。
- 简单模块注意封装,复杂模块注意分层。
- 人脑性能有限,整洁胜于杂乱。遇到读不懂的代码,可以尝试整理下格式;不好用的接口,可尝试重新封装下。
- 迭代速度决定工作强度。想多快好省,简化开发流程,加快迭代速度。
- 忘掉优化写代码,忘掉代码作优化。因为过早优化,往往事倍功半;而不通过全局性能度量,优化也难有建树。
- 最好的工具是纸笔;其次好的是markdown。
- leader问你任务时间,你答不上来。很可能是任务拆分不够细。
- 宁可多算一周,不可少估一天。别总因为“好意”而让你的boss受惊吓。
- 最有用的语言是English。其次的可能是Python。
- 画出结果,调试耗时将急剧缩短。
- 资源、代码应一道受版本管理。资源匹配错误远比代码匹配错误更难排查。
- 不要基于想象开发, 要基于原型开发。原型的价值是快速验证想法,帮大家节省时间。
- 序列化首选明文文本 。诸如二进制、混淆、加密、压缩等等有需要时再加。
- 编译器永远比你懂微观优化。只能向它不擅长的方向努力。
- 不要定过大、过远、过细的计划。即使定了也没有用。
- 至少半数时间将花在集成上。
- 与主流意见/方法/风格/习惯相悖时,先检讨自己最可靠。
- 出现bug主动查。那是难得的成长机会(对经验对形象都是)。当然还有:别人查出来你会很被动。
- 不知怎么选技术书时就挑薄的。起码不会太贵,且你能看完。
- git是最棒的。简单,可靠,免费。
- 仅对“可预测的非理性”抛断言。
- Log要有时间和分类,并且要能重定向输出。
- 注释是稍差的文档。更好的是清晰的代码命名。
- 造轮子是很好的锻炼方法。不过前提是见过别的轮子。
- code review最好以小组或结对为主。因为对业务有足够了解建议才更有价值。而且不会成为负担。注意,提交过程中的管理员review很容易成为瓶颈。
- 提问前先做调研。节约大家的时间。
- 永远别小看程序媛(╯3╰)。