前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序员都干了什么活

程序员都干了什么活

作者头像
硬核编程
发布2019-08-23 14:39:31
5430
发布2019-08-23 14:39:31
举报

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 等等如你所料,这些代码要强大的处理能力 才能高速速度运行所以下集讨论,计算机怎么发展到如今这么快。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员成长充电站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01
相关产品与服务
Prowork 团队协同
ProWork 团队协同(以下简称 ProWork )是便捷高效的协同平台,为团队中的不同角色提供支持。团队成员可以通过日历、清单来规划每⽇的工作,同时管理者也可以通过统计报表随时掌握团队状况。ProWork 摒弃了僵化的流程,通过灵活轻量的任务管理体系,满足不同团队的实际情况,目前 ProWork 所有功能均可免费使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档