分享生活百科知识

注册/登录|最近发布|今日推荐

主页 综合百科生活常识数码科技传统文化互联网健康时尚影视娱乐教育学习
当前位置:首页 > 生活常识

程序员代码量过20万行,是一种什么体验?

提问时间:2023-07-05 11:42关键词:代码,程序员

程序员代码量过20万行,是一种什么体验?

点赞1、温岭市 网友:文清姐姐

如果是一个独立项目超过20w还是一个人维护,真的很难,可以说反反复复重构,拆模块,提取公共库,做分层处理,而且还会引入工具对代码使用lint工具。代码量过五万的时候,开始注重命名规范,文档,注释,初步划分模块,debug工具和命令熟练,但有时候使用还要去搜一下使用方法,日志写是写,还是有点随意。

代码达到十万行的时候,模块划分完整,开始做系统分层,也引入代码扫描工具,同时debug水平炉火纯青,也学会了崩溃时生成core文件,方便分析,日志已经非常标准而且完备。同时,开始做code review。各种接口说明文档也都有了。而且开始了解操作系统和虚拟机,以及编程语言和各种库的底层细节。已经是某方面的资深人士。

等到二十万行的时候,代码规范,日志规范,架构设计,性能指标,硬件需求,异常处理,数据说明,接口说明,数据流图,配置表,数据字典,历史异常总结,这些都有文档了。同时涉及到网络,文件,操作系统系统,脚本,语言也做了深入了解。到了这个阶段,维护代码,做个小修改都胆战心惊。已经算得上专家了。

点赞2、毕节市 网友:一切随风

作为一个从业多年,编写的有效代码远超20万行的老码农,来聊聊个人的切身体验,希望能对你有所帮助。

当你开始写第一个程序的时候,目的往往只有一个,如果将能够快速的掌握这门语言,如何能将那些练习题用程序实现,如果以每道题几十行代码计,下来也写了成千上万行代码吧。

后来会接触一些开发框架,开始学习并使用这些框架,然后用它们来解决一些实际的问题,在此过程中,代码量会快速的膨胀,然后慢慢的理解了这些框架的设计思路,也发现了它们的一些缺陷与不足。于是你会根据需要解决的问题转向一些别的框架,甚至是别的编程语言。有时候为了设计一个良好的系统,你可能会使用到几种不同的编程语言;有时候因为现有框架无法解决问题,你会求助于开源社区;有时候开源社区可能也没有你需要的东西,于是你开始自行设计;或许有一天,你自己设计了一个优秀库,然后将它放到开源社区,你开始成了新手膜拜的大神,而当初你自己也曾膜拜那些提供开源项目的人!

实际上随着代码量的增长,每个人的倾向也各不相同。比如有的人会向深度发展,开始研究更高效的算法;而有些人会向高度发展,设计更灵活多变的框架;也有人会向广度发展,融合多种语言,充分利用它们的优缺点以解决实际问题……

就我个人来说,曾经在某一个阶段,也可能就是20万行代码这个阶段吧,会经常沉迷于开源社区,学习那些优秀的开源项目,后来开始自己设计一些应用框架,再后来,希望有一天自己开发的一些项目也能为开源社区做一点点贡献(不过因为需要养家糊口,一些代码会涉及到商业问题,所以无法分享,想想甚至遗憾)。

最后需要说明一下,代码量和有效代码量是有着很大区别的,如果Ctrl+C,Ctrl+V,那么有些人甚至一天就可以写出上万行代码,而这些靠复制、粘贴出来代码显然是没有含金量的,它们只是代码而不是有效代码。有效代码是经过你思考并自己编写的代码,即使是参考已有代码,也是经过一定的重构以高效的融合进自己的框架。

当然每个人的悟性、兴趣与从事的行业也各不相同,体验自然也会千差万别,不能一概而论。

点赞3、江都 网友:謸眎颩凨

看了评论,一堆不懂装懂的人在评论。[捂脸]。

顶你一下吧,代码量过20万,不管是一个项目的还是多个项目的,至少也写了或管理了这么多的代码量。

这个时候你会发现,规范化的管理是多么重要的一件事情。包括代码风格,接口啊,命名啊,还有开发环境,测试环境等。然后迫切需要一些工具人来完成一些自动化的工作,比如构建,单元测试,分发部署等。还有一些文档工具来完善各个文档。

另外你会发现良好的设计是多么的重要,这个时候排除bug之类的,不再是一开始就直接干程序了,而是一开始研究设计文档,从设计层面分析问题。

总之,程序员想要提升的话,会面临各种坎,需要学习很多东西。并不只在于代码。

上面说的才是冰山一角。

点赞4、淮安市 网友:冷冰鱼

20万行并不算多,但也不算少。

我曾经有一年,自己写了一个工程8万行的C++,如果统计加上第三方的代码那能到30万行。中间有一段时间被设计错误搞的逻辑混乱,小规模重构过一次。算是我一次性独立完成的最大的项目了。说实话还是蛮有成就感的,但也就那样。

完全是自己写的,超过20万行的也有,是我自己写的游戏引擎,但那是常年累月不断更新维护迭代下来的。这种感觉就不只是成就感了,而是有一种情怀。哪怕别人的比自己的更强大,我依然要用我自己的。它更是一种依赖,因为常年累月的积累迭代,其中包含了各种基础库。自己的数学库,自己的模版库,自己的网络库,等等。写个啥项目,基础库都要用自己的,上手快啊!

点赞5、简阳市 网友:狂拽霸天

不在多在于精

知识推荐

八哥问答——日常生活学习知识分享。 垃圾信息处理邮箱 tousu669@163.com 网站地图
icp备案号 闽ICP备2023007808号-3 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.12606.com All Rights Reserved