新手程序员须知30个技巧!少走弯路

最近不少读者问我,自己新手程序员上路,面对工作有时候无从下手,很吃力,有没有一些小技巧,可以提供给他(她)。小编当然是知无不言,只有能帮的,小编都竭尽所能啦!

以下小技巧,希望大家能灵活地运用到学习编程和工作当中!

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的能力!

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

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

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

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

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

想要了解更多学习编程的方法,请关注小编,每天更新!

如果你依然在编程的世界里迷茫,不知道自己的未来规划,可以加入web前端学习交流群:731771211 里面可以与大神一起交流并走出迷茫。小白可进群免费领取学习资料,看看前辈们是如何在编程的世界里傲然前行!群里不停更新最新的教程和学习方法(进群送web前端系统学习路线,详细的前端项目实战教学视频),有想学习web前端的,或是转行,或是大学生,还有工作中想提升自己能力的,正在学习的小伙伴欢迎加入学习。 点击:加入

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ThoughtWorks

云与性能测试 | 洞见

近年来,随着云计算技术的发展和各种诸如AWS、GCP、阿里云等云平台的日趋成熟,越来越多的的用户选择把系统搭建在云端,因此云测试的概念随即产生。云测试看字面意思...

51180
来自专栏我是攻城师

10+年程序员总结的20+条经验教训

36270
来自专栏Java技术栈

阿里巴巴Java开发手册(终极版)

别人都说我们是码农,但我们知道,自己是个艺术家。也许我们不过多在意自己的外表和穿着,但我们不羁的外表下,骨子里追求着代码的美、质量的美。而代码规约其实就是一个对...

74180
来自专栏机器人网

【解读】ABB机器人虚拟仿真技术

工业自动化的市场竞争压力日益加剧,客户在生产中要求更高的效率,以降低价格,提高质量。如今让机器仍编程在新产品之始花费时间检测或试运行是行不通的,因为这意味着要停...

13820
来自专栏人工智能头条

提高代码阅读能力的7种方法

17840
来自专栏Android 开发者

[译] 更好的数据,更明智的决策:Google Play Console 和 Firebase 帮你分析你的用户

作者:Tom Grinsted(Google Play Console 的产品经理)和 Tamzin Taylor(Google Play 西欧区应用及游戏部主...

24320
来自专栏Java学习网

每一个程序员都应当了解的11句话

每一个程序员都应当了解的11句话   1.技术只是解决问题的选择,而不是解决问题的根本   我们可以因为掌握了最新的JavaScript框架ahem、Angul...

23280
来自专栏云计算D1net

揭穿SaaS应用程序可取代所有遗留系统这个神话

如今,软件即服务(SaaS)应用程序越来越多地应用于大企业。公司高管想要员工使用这种应用程序的两个首要原因是: * 节省成本:公司可节省IT团队扩建构建新应用程...

28470
来自专栏机器学习算法与Python学习

资源&教程 | Python数据分析,详细的学习路径

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 主要学习内容包括四大部分: Pyth...

45960
来自专栏贺嘉的专栏

新增线下、APP 、公众号多处入口,小程序会再火起来么?(内有福利)

从本次小程序开放的6大能力来看,比开放个人开发者注册,更为重要的开放了公众号,APP,线下三类小程序入口,对于开发者而言意味着用更多方式触达海量用户。

2.5K00

扫码关注云+社区

领取腾讯云代金券