
代码整洁之道txt下载,什么样的代码叫好代码
- 科技
- 2023-08-14
- 4

大家好,今天来为大家分享代码整洁之道txt下载的一些知识点,和什么样的代码叫好代码的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概...
大家好,今天来为大家分享代码整洁之道txt下载的一些知识点,和什么样的代码叫好代码的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
代码乱如何快速整理
1.使用格式化工具:可以使用一些格式化工具,比如Prettier、ESLint等来格式化代码。这些工具可以根据预设的规则格式化代码,包括缩进、换行、空格等。
2.统一命名规范:代码中变量名、函数名、类名等命名不规范或不一致的话,会影响代码的可读性和维护性。因此,可以将命名规范统一,并且保持一致性,可以让代码更加整洁。
3.删除无用的代码:在代码中可能会存在一些无用的代码,比如未使用的变量、函数、类等。将这些无用的代码删除可以减轻代码的负担,也可以减少出错的概率。
4.分离代码模块:如果代码量比较大的话,可以将代码分离成不同的模块,每个模块负责不同的功能。这样可以降低代码的复杂度,提高可维护性。
5.重构冗余代码:如果存在冗余的代码,可以使用重构工具或者手动修改来简化代码。比如可以将重复的代码提取出来,封装成函数或类,然后在需要的地方调用。
6.添加注释:在代码中添加注释可以让其他开发人员更容易理解代码的含义和实现方式。注释应该尽可能简洁明了,不要过于复杂。
以上方法可以帮助快速整理代码,提高代码的可读性和可维护性。
经典代码需要背诵吗
我觉得首先要弄清楚代码是什么?代码是一个人去抽象的表达世界的方式,是人与计算机沟通的渠道。
我认为好的代码体现在两个方面:
1、代码整洁度,规范化,标准化。
这是一个经验丰富的软件工程师所必备的技能,经验丰富的工程师在设计之初就会想到,如何拥抱产品的变化,变化是永恒的,没有不变的需求。所以为了能够最大限度的适应产品的变化,就要求代码去解耦,“一个函数只做一件事”等等良好的规范。
这种代码,我认为首先要做的是欣赏,然后在自己工作对照,进而就心领神会了,这种代码背也没用。
2、常用的算法
常用的算法,如二分查找、经典的排序算法,我认为还是需要在理解的基础上,多写一遍,从而达到背的结果,但是核心还是去理解算法的精髓。
3、经典的软件实现
比如redis,MySQL,Linux等等非常优秀的软件实现,这个时候我认为最关键的是,理解作者为什么这么设计,需要上升一层高度去理解它,这样才能扩宽自己的思维。如果是专门吃这碗饭的,比如dba,理解MySQL代码,才能端好这碗饭,如果能背下来,那肯定理解到不一般的地步了。
欢迎大家关注我~~
代码写的美是怎样一种体验
工作第二年时候的一个经验,第一次实实在在感觉到简洁代码的威力,整洁代码实乃保命保平安神器。
当时开发的是这个游戏:
实际游戏画面:
这个巅峰时期团队过百,一共前后做了4,5年,代码量那是大大的,我这里参与的是ps3版,使用的是unreal3引擎。
xbox360/ps3这一代,unreal在微软平台上做的很是不错,在ps3上面各种原因吧,做的很不到位,对应出的unrealtournament3在ps3上面各种缩水。
一定程度上也和ps3的机能不足以及奇怪的架构有关。
ps3的在cpu端基本架构是这样:
其中可以重点关注大家不太常见的叫做SPE的这个东西,这个可以说是ps3的一大特色,就是一个很强的协处理器,非常善于做vector类的“傻算”,单个能力超过现在的普通I7的单核cpu的计算能力,而且这样的东东有8个。。。
甚至sony开始希望这个spe搞定一切,连GPU都省了,但是后来发现不行,急急忙忙上的nvidia的缩水GTX7800级别的GPU。
但是SPE毕竟设计时候牛逼,后面大家拿这个东西来做计算蛋白质序列啊,在ps3的中后期,大家开始研究怎么用SPU做一些渲染的工作,一度能承担40%的GPU的工作,其战斗力可见一斑。
当时sony底层系统方面的能力比微软差不少,所以底层一大特色就是“裸”,你有两个选择,一个是opengl的api,这样使用默认的驱动,但是效率就是一个普通效率。
还有一个版本的就是叫gcm的一个api,就比较的底层,你自己来管理一切,从显存的管理到commandbuffer的flush都是自己来做。
近乎等于开发者自己来实现一个类似driver的东西了,为了效率这个是大家普遍的选择。
然后sony文档上有介绍说,SPE可以支持去执行这些gcm的命令的构建,也就是说可以把整个驱动实现出来,然后放到SPE上去跑,这样就进一步解放核心CPU的工作,达到更好的性能。
当时花了一些时间把ps3版的底层写好了,driver也都跑顺了,然后就开始做把driver往SPE上移植的工作。
这个过程就是一个把unreal底层进行拆解分离,把driver部分独立出来,然后实现到SPE上面,由SPE把命令构建好,送往GPU;为了进一步优化性能,自己实现的这个部分还可以提供更高层的一些api,把一些游戏常用的api直接打包成一个包,定制出一个比opengl更简单样子,但是效率非常的高。
刚刚写了第一版,直接就一团乱,跟了代码一瞅。。。代码段被冲了,这个之前都没见到过,正常系统上对代码段会有保护,冲过去会有warning什么的,SPE上面就是完全裸的,没有任何保护。
然后说回SPE,上面一个很小的localstorage,需要把命令送过去,然后管理本地的内存,进而执行代码等等,然后代码的执行是通过gpu来看的,所以如果出错了,你只能知道错了,不知道哪里错了。
而且ps3的早期,各种debug工具也不完整,debug能力就各种抓瞎。
当时工作也不久,经验也不足,就这样,扛着一个这种大游戏的底层,没日没夜的在SPE里面一直泡着,一个坑出来再进到另外一个坑。
中间一个问题憋了一个多星期,没有一点进展,甚至开始怀疑是不是这个SPE做driver是不可能的,毕竟只是文档上提一嘴。
在sony论坛上求教,还真有一个哥们,欧洲一个公司的,做网球游戏的,给我发来邮件说他也这么干的,能行;这真给我相当大的希望,继续又怼了1个星期,代码都快全背下来了,终于能够继续前进,刚刚长舒一口气
leader把我叫到办公室里问我还有多长时间能弄完,有点担心这个能不能行,在考虑要不要把任务cancel。。。当时的表情是这样的:
和leader晓之以理动之以情,软磨硬泡,最后leader再给2星期时间,必须能够跑得比较稳定,否则还是要卡擦掉。
然后继续猛怼,后面进展还算可以,但是由于项目已经比较靠后了,比较担心上了之后会出各种难查的问题(这个的情况比多线程要更棘手了)。
中间开发的过程已经明显感觉到,对于这种难以debug的情况,把设计做清晰,把代码写整洁有多么重要。
所以到最后就是不停的去重构代码,一直到代码已经整洁到自己想吐了,就是那种中考前复习的实在烦了,去tmd的考就考吧的感觉。
开始合入了主干,提测QA,然后买好红牛,等着bug彻夜奋战。
然后过了一天。。。没事,QA只是反映,帧数是更好了一些。
2天。。。没事
最后一周下来,就是零星2个小问题。
这对于这种规模应该说是比较少见了,最后实际profile下来,能节省6-8ms(面向30帧的游戏,一共33ms,所以对于性能来说是非常关键的一波)。
这波下来,有这样的感觉
整洁代码绝非装逼用的,简直就是保命保平安神器变得特别喜欢欣赏整洁代码的美妙之处,后来看insomniac的spu实现的计算水的fft(刚刚查了下已经没有了),真是如同欣赏水墨风景的怡然的感觉总的说来,谈不上美哭了,但是也有美的一面,整个过程连滚再爬也快哭了。。。
什么样的代码叫好代码
好代码,满足两个条件:能实现预定效果、能被人容易看懂。
代码的差别,不在于能否实现功能,更主要是实现的好坏。
有些代码虽然实现效果了,但换个程序员就看不懂,无法维护,也是烂代码。
现在的软件业,程序员加班都是普遍现象,疲劳工作,势必影响代码质量。
大部分都在着急实现功能需求,完成领导安排的任务,只是以完成为目标。
这种不考虑长远的工作方式,虽然短时间内达到了目的,但长期看问题很大。
程序员一旦离职,新来的需要花很久才能接手,项目的扩展性和稳定性都没保证。
尤其一些外行的领导,一味地只知道做出来给上级邀功,不能科学的排期。
功能需求说改就改,新功能拍脑袋就来,导致项目设计不断调整,损伤整体的架构稳定。
整个行业还没意识到代码质量的重要性,对代码没有敬畏之心,只看眼前不顾长远。
只有行业人员达到饱和,把不合格的程序员和产品经理都淘汰下去,好代码才能形成风气。
关于代码整洁之道txt下载,什么样的代码叫好代码的介绍到此结束,希望对大家有所帮助。
本文链接:http://www.depponpd.com/ke/2628.html