程序员都干了什么活

01

写代码—IDE

有一点很重要:代码在编译前就只是文字而已。前面提过,你可以用记事本或任何文字处理器,有人确实这样做。但一般来说,现代软件开发者 会用专门的工具来写代码,工具里集成了很多有用功能帮助写代码,整理,编译和测代码。因为集成了所有东西,因此叫 集成开发环境,简称 IDE。

所有 IDE 都有写代码的界面,还带一些有用功能,比如代码高亮,来提高可读性。许多 IDE 提供实时检查,比如拼写。大型项目有很多源代码文件,IDE 帮助开发者整理和看代码。很多 IDE 还可以直接编译和运行代码,如果程序崩了,因为你还没写完呢。IDE 可以定位到出错代码,还会提供信息 帮你解决问题,这叫调试(debug)。

02

调试(debug)

调试很重要,大多数程序员会花 70%~80% 时间调试,而不是在写代码,好工具能极大帮助程序员防止和解决错误。很多开发者只用一款 IDE——VIM 才是最棒的编辑器(如果你知道怎么退出的话)。

03

写文档

除了写代码和调试,程序员工作的另一个重要部分是给代码写文档,文档一般放在一个叫 README 的文件里,告诉其他程序员,看代码前先看这个文件。文档也可以直接写成"注释",放在源代码里,注释是标记过的一段文字,编译代码时 注释会被忽略。注释存在的唯一作用就是帮助开发者理解代码,好文档能帮助开发者几个月后理解自己的代码,对其他人也很重要。我想花一秒再强调一下注释很重要。最糟糕的就是拿到一堆代码,没有任何注释和文档,结果得逐行读代码,理解到底干嘛的。我是认真的,别做那种人。

文档还可以提高复用性,与其让程序员一遍遍写同样的东西,可以直接用别人写好的来解决问题,读文档看怎么用就行,不用读代码。

04

源代码管理

"读文档啊"除了 IDE,还有一个重要软件帮助团队协作。源代码管理也叫"版本控制",苹果或微软这样的大型软件公司会把代码放到一个中心服务器上叫"代码仓库",程序员想改一段代码时,可以 check out,有点像从图书馆借书。一般这种操作,可以直接在 IDE 内完成,然后开发者在自己的电脑上编辑代码,加新功能,测试,如果代码没问题了,所有测试通过了,可以把代码放回去这叫 提交 (commit)。

当代码被 check out,而且可能被改过了,当代码被 check out,而且可能被改过了,其他开发者不会动这段代码,防止代码冲突和重复劳动。这样多名程序员可以同时写代码,建立庞大的系统。重要的是,你不希望提交的代码里有问题 因为其他人可能用到了这些代码,导致他们的代码崩溃,造成困惑而且浪费时间。

代码的主版本 (master)应该总是编译正常,尽可能少 bug。但有时 bug 还是会出现,幸运的是,源代码管理可以跟踪所有变化。如果发现 bug,全部或部分代码,可以"回滚"到之前的稳定版。"源代码管理" 也记录了谁改了什么代码,所以同事可以给你发讨厌的或者有帮助的 邮件给写代码的人。

05

测试

写代码和测代码密不可分

测试一般由个人或小团队完成,测试可以统称 "质量保证测试",简称 QA,严格测试软件的方方面面,模拟各种可能情况,看软件会不会出错。基本上就是找 bug,解决大大小小的错误需要很多工作,但对确保软件质量至关重要,让软件在各种情况下按预期运行。

你可能听过 "beta 版" 软件,意思是软件接近完成,但不是 100% 完全测试过,公司有时会向公众发布 beta 版,以帮助发现问题,用户就像免费的 QA 团队。你听过比较少的是 beta 版之前的版本:alpha 版本,alpha 版一般很粗糙,错误很多,经常只在公司内部测试。

以上只是软件工程师用的工具和技巧的冰山一角,它们帮助软件工程师制作令人喜爱的软件,如 YouTube,GTA5 和 PPT 等等如你所料,这些代码要强大的处理能力 才能高速速度运行所以下集讨论,计算机怎么发展到如今这么快。

原文发布于微信公众号 - 程序员成长充电站(qianpangzi8)

原文发表时间:2019-08-21

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

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券