有哪些新手程序员不知道的小技巧?

在编写代码中有许多技巧,有的是程序语言实现层面的,有的是算法和数据结构方面的,类似的文章在网上已经有非常详细的说明了,本文打算从另一个比较抽象的角度来聊聊有哪些新手程序员不知道的小技巧,有了这些技巧会让你在日常写代码的过程中如虎添翼,提升工作效率。

思维层面

假设我们要做一个课程设计,对于稍微有一些编程基础的同学来说可能一上来就写代码,然后反复修改。而学习软件工程的课程之后可能会考虑先做一个需求分析,新手可能会陷入比较混乱的思路中。所以在构思一个问题时,可以考虑从最大的几个方面出发,等大确定之后并记录下来,再一个个慢慢展开。比如一个常见的需求:写一个 xx 管理系统,如果思路是:用户管理 -> 用户数据库结构设计 -> CRUD 逻辑 -> 界面 -> 功能分析 的话,很快就会陷入混乱,但是如果思路改变一下,如下:

用户管理

用户数据库结构

用户相关 CRUD 逻辑

功能设计

xx 功能

yy 功能

对应功能的 CRUD 逻辑

功能相关的数据库结构

这样对于问题的分析就会清晰很多,实现起来也更加不容易遇到问题。

看官方文档

一些语言/工具的官方文档可能是纯英文的,对于英文不是非常好的程序员来说第一眼看上去不是非常友好,但是作为相关工具的开发者,其官方文档的维护者势必是最为了解对应产品的人,加上一般我们能看到对应文档的工具都是开源的,在有官方背景情况下的文档一定相比一些 xx 知道,xx 博客等有更加好的入门能力,且能涉及到一些大家博客中难以涉及到的一些比较小的细节。

如果英语水平不好的话,一定要花功夫提升自己的英语水平,这样可以非常有效地扩展自己的知识面。

学会调试

这里说的调试不是在 "合适的位置" 写一个 print 语句判断一下某个变量对不对,而是对于代码的调试。包括但不限于对性能不够的地方进行测试和调优,对于代码性能的分析被称为——profiling。 

profiling 工具 vs 和 gcc 都有,gcc 下的叫 gprof ,功能都是通过检测堆栈采样每个函数的 cpu 时间,统计代码热点,方便程序员有针对性的优化代码。

进行代码调试,如果自己的代码具有模块性能提升调试的效率,模块间注意去掉循环依赖,这样所有模块会自然分层,遇到问题的时候可以一层一层往下调试,对于调试而言,建议如下:

训练可以这样。写一个稍微有点规模的项目,大于 2000 行代码的那种,然后尝试把它分成小模块,每个模块一个文件,每个文件不超过 300 行(或者 500 行,有的语言可能本身更啰嗦一点),每行不超过 80 个字符。每个模块尽量只做一件小事情。注意让模块之间没有循环依赖。给每个模块写单元测试。然后,写出来这个 project 之后,把模块之间的依赖关系画个图(像这个:Go standard library DAG visualization ),拿着这个图给你的一个(同样高数没有问题的)朋友看,让他参照着这个图去读你的源代码,看他能不能读懂你的代码要做什么,是怎么做的。如果他能读懂,说明你模块分得非常好。如果他读不懂,可以具体看他读哪个模块读不懂了,研究一下有没有更好的模块化方式或者写法。

如果有想学习编程的初学者,可来我们的C/C++技术学习扣qun的哦:58,934,83-89里面免费送整套系统的C/C++教程!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容

  • 1.重构是程序员的主力技能。 2.工作日志能提升脑容量。 3.先用profiler调查,才有脸谈优化。 4.注释贵...
    小明yz阅读 217评论 0 1
  • 本来是想写点什么的,但是打开又不知道要写啥了,经常会这样子,明明有满肚子的情感,却不能把他用字句表达出来,好像在...
    繁意阅读 131评论 0 1
  • 分组交换允许多个通信方通过一个共享的网络传输数据,而不是形成一条条专用的通信线路。分组交换把数据划分成许多小的数据...
    Wang_Yong阅读 652评论 0 0
  • 高三毕业那年的暑假,每天搬个板凳坐在阳台上手写了本小说《青春随风》,后来到南昌读大学,在学校边上找了个打字店,当黑...
    罗帆文集阅读 392评论 0 1
  • 1,我感恩早起做了呼吸法,和身体链接,和细胞们链接 2,我感恩每天早晨一杯温水清理着我的身体,冲掉所有的疾病,旧有...
    奇迹杨子阅读 185评论 0 0