五年程序员工作小结&技巧

因每样事物都具其特色,每个人都有其个性,故而每种工作都有其技巧,每件事情都有其方法。

程序员的工作亦是如此,假如不能抓住事物的本质去对待问题,恐事倍功半,徒劳无功。

回想起初,刚接手单片机上,简单的点亮LED 的程序时,逐句逐字阅读。乃未入门之探索也,盖不能成事。如今已工作5年有余,项目中代码的功能、模块逻辑之纷繁复杂,自思应好生整理。一则为前面5年之辛劳尝试,加以回顾总结; 二则为今后程序员的人生,继往开来。

1. 师出高明

程序代码,计算机系统,os 都是西洋人发明创建而来,若能直接阅读他们的文献,一手的资料,大有裨益。

https://dzone.com/articles/7-ways-to-improve-your-code-reading-skill

如何理解代码,这篇文件总共从7个维度阐述。

1) 运行代码

静态的代码,动态的进程。

代码为结果,原因和过程是动态的进程,从而实现人们的需求。

运行代码,观察进程再动态运行中的现象,结合编写代码的初衷,可以加深对代码的理解,从而找到为何代码要这样来写的原因。

同时还特别提到framework 或 libraries 如果了解,会辅助代码的阅读。

2) 找到顶层逻辑

也就是程序的全局观,从全局出发,循序渐进,阅读代码,最终落入到代码实现细节。这样比较符合人们的思维逻辑,不会被局部的函数或局部逻辑,而困死其中,迷失在茫茫的逻辑大海中,失去了顶层逻辑的指南针。

首先建议大致浏览代码,根据代码的字面意思,整理出一条逻辑线索,形成顶层逻辑,大概明白,这个项目是要干什么的,然后在去看细节实现。

3) 代码开发、阅读、编辑工具的使用

磨刀不误砍柴工,且不细说。

4)了解编程语言的语法、编写风俗习惯

比如 函数调用,就是通过PC 指针指向函数的首地址。

5) 常用的编程模型或模板套路

自古套路得人心,比较offset() 函数在Linux 内核中获取成员变量的首地址,然后通过指针指向首地址来引用捕获到需要的变量。C 语言指针的妙用,在捕获变量的用途里大放异彩。

6) code review 

互相借鉴,三人行必有我师焉。学会向贤者学习。

7) 学习做减法

最后一条,也是最万能的一条。将大的函数拆成中等函数,在拆成小函数。由简入繁。

2. 图形化程序流程

程序都是按照固定流程来写的,代码写的不是功能,而是流程。 只是特定的流程,可以实现特定的功能。所以,代码天生就不是功能,而是因为构成了算法流程,才转化成了功能实现。

步骤我认为应该如下:

需求功能---> 算法流程 -----> 编码实现

只是有能工巧匠,对编码coding 烂熟于心,故而可直接写出完备的代码,不再我的考虑范围之内。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值