新手程序员的进阶之路,少不了这30个小技巧!

作为一个新手,自然是多学习一些技巧,才能让自己的技能日渐增长呀!毕竟技多不压身,多学几个技巧,总能为工作增加不少便捷。

0.重构是程序员的主力技能。

1. 想要提升脑容量,那就开始查看工作日志。

2. 先用profiler调查,才能开始谈优化。

3. 注释贵精不贵多。

4. 普通程序员+google=超级程序员。

5. 单元测试总是合算的。

6. 不要先写框架再写实现。最好反过来,从原型中提炼框架。

7. 代码结构清晰,其它问题都不算事儿。

8. 好的项目作风硬派,一键测试,一键发布,一键部署; 烂的项目生性猥琐,口口相传,不立文字,神神秘秘。

9. 编码不要畏惧变化,要拥抱变化。

10. 编程之事,隔离是方向,起名是关键,测试是主角,调试是补充,版本控制是后悔药。

11. 一行代码一个兵。形成建制才能有战斗力。单位规模不宜过大,千人班,万人排易成万人坑。

12. 重构/优化/修复Bug,同时只能作一件。

13. 简单模块注意封装,复杂模块注意分层。

14. 人脑性能有限,整洁胜于杂乱。读不懂的代码,尝试整理下格式; 不好用的接口,尝试重新封装下。

15. 迭代速度决定工作强度。想多快好省,就从简化开发流程,加快迭代速度开始。

16. 忘掉优化写代码。过早优化等同恶意破坏;忘掉代码作优化。优化要基于性能测试,而不是纠结于字里行间。

17. 最好的工具是纸笔;其次好的是markdown。

18. 最有用的语言是English。其次的可能是Python。

19. 资源、代码应一道受版本管理。资源匹配错误远比代码匹配错误更难排查。

20. 不要基于想象开发, 要基于原型开发。原型的价值是快速验证想法,帮大家节省时间。

21. 序列化首选明文文本 。诸如二进制、混淆、加密、压缩等等有需要时再加。

22. 编译器永远比你懂微观优化。只能向它不擅长的方向努力。

23. 至少半数时间将花在集成上。时间,时间,时间总是不够。

24. 与主流意见/方法/风格/习惯相悖时,先检讨自己最可靠。

25. 出现bug主动查,不管是不是你的。这能让你业务能力猛涨、个人形象飙升。

26. 不知怎么选技术书时就挑薄的。起码不会太贵,且你能看完。

27. Log要写时间与分类。并且要能重定向输出。

28. 注释是稍差的文档。更好的是清晰的命名。让代码讲自己的故事。

29. code review最好以小组/结对的形式。对业务有一定了解,建议会更有价值(但不绝对)。而且不会成为负担。管理员个人review则很容易成team的瓶颈。

老鸟和新手的一个很大区别来自于debug的能力。

0.从高层往底层找错。

很多新手遇到程序执行结果不对(尤其是图形程序员),先认为是机器毛病(浮点精度、硬件故障),然后认为是驱动有错,再认为是系统有错,最后才开始排查自己的程序。其实99%的情况下是自己程序有错,然后那1%里面的99%是系统有bug,再接着那1%里的99%是驱动有bug,最后到硬件问题,已经微乎其微了。应该从高层往底层查,而不是反过来。

1.科学方法

debug一般来说是知道现象,但原因未知。这一点和很多自然科学的情况一样,所以完全也可以用科学的方法来:

提假说->根据假说做出预言->做实验肯定或否定预言。

对应于debug,那就是假设是某个地方有问题,那么推断它一定会导致除了你看到的现象之外的其他现象,运行程序看你的推断是否成立。

掌握这个方法后debug不在变成瞎找瞎试,而是有迹可循有系统可依赖的方法。

为了让大家更加快速的掌握编程知识,大咖送我一套他收集整理五年的前端和后台的资料,为了感谢大家一直以来对小编的支持,小编决定免费送给大家,下面是资料的部分截图,仅供大家参考,希望大家在编程的路上越走越远,尽快实现50万的小目标!

免费领取方式:

加大神 teacher_liu_666 即可免费领取所有资料!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180505A0FHU900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券