找回密码
 立即注册
查看: 530|回复: 0

[笔记] Unity开发中维护五六百行代码就感到无力的原因

[复制链接]
发表于 2020-11-25 11:58 | 显示全部楼层 |阅读模式
前言:

游戏开发职业发展的初期会经常遇到维护项目工程力不从心的问题,任何工程性项目都少不了前期的规划与标准制定。当然软件开发,游戏开发也不例外。因此,有众多前辈已经就软件开发提炼总结了书籍。例如《重构》,《代码整洁之道》,《人月神话》等经典书籍。这里我就不谈书中的内容,简单分析下原因,当然知道了原因自然你也就明白该如何解决了,方法就在分析之中,自己得出的解决之道,才是最适合的!
力不从心的问题出现,无非是两个因素,自身的原因外部原因。首先你需要明白你当前的问题出现在哪里。这里我就简单分析下这两个因素。


自身原因

1、对于编程语言的不熟悉,使用不够恰当灵活
由于自身由于刚刚入职游戏开发工作,相关的编程技能还不熟练,导致有很多的编码虽然能解决问题,但是不能够符合人们的阅读习惯,导致后期自己看自己的代码时也觉的像看天书一样。例如,扑克类游戏,牌面数值的表示,很多直接就使用数值来表示,“J”就用11来表示,其实这里可以替换为枚举来表示,这样可以更加易读。


2、编码习惯不够良好,不适当注释代码
虽然说好的编程结构,不需要太多注释,但对于团队合作,这可能会是一个灾难。毕竟编程能力在一个团队里有好有坏。如果不能让其他成员准确明白你的编程思路与结构,让他胡乱猜测,这样协作出的代码必然会难于维护,可能最后还是得你自己来费心排查。有时一个非常小的错误,没有被IDE检测出来,这个错误可能会让你头疼一整天。


3、疏于沟通,特立独行
游戏开发大多不是一个人的工作,当然独立游戏开发除外。管理层可能再前期已经制定了开发文档,编写了大致的开发框架。你我都知道,计划永远赶不上变化,开发过程中难免有框架问题不能适应自己的功能开发需求,可能出于害怕挑战领导权威或者羞于提出,你就自己解决了或者加入了自己的一套方案进来而疏忽了对整个项目的影响,导致项目维护起来很困难。


4、无法处理好生活琐事与人际关系
这种因素可能不是直接导致代码难于维护的只要原因,而是导致你工作力不从心的原因。无论怎样的工作,只要需要人来做的,都需要考虑到人的自身心理与健康因素。倘若,一大早你就是与家人吵完架,摔门离开家来到公司,我想你这一天的心情都不好,工作时担心如何回家面对家人等等,怎会有精力来维护出了一堆问题的代码,甚至会是修改1个bug,多出来99个bug。其实,很多问题可以询问同事,俗话说共同的智慧是无穷的,但这种沟通的前提是你与同事有个好的关系,所以这需要你平时适当与同事联络一下感情,聊聊家常,毕竟生活不仅仅是黑白代码。当然与领导的沟通也是你少掉许多麻烦,有更多精力力处理号自己的工作。
外部原因

1、领导层面工作分配不合理,超出能力范围
虽说,工作需要有挑战性,但如果把不适合的工作分配给你,自己有不懂得去拒绝,这样自己虽说勉强完成工作任务,但自己可能都对自己的工作都有些怀疑,更不要讲后期维护了,这种由公司领导分配不合理的任务,虽说是外部原因,自己也需要去明确指出,否则,承担问题的是你,自然会在维护时力不从心。


2、团队层面的编码规范未统一和规范执行情况差
很多公司,特别是初创公司,很少注重编码规范的制定,前期都以完成功能,完成项目为指导方向,从而导致在编码中随心所欲,自然这种随心所欲放到一个团队里,就产生了很多奇妙的反应。之后便出现各种神奇的问题,自然让你感到头痛,力不从心。

当然,就算有较好的规范,如果执行不好,必然也是徒劳,所以如果你是这种问题,你可以适当在会议上提出你的建议,毕竟这是有利于团队发展的,我相信领导也能够接受与采纳。


3、客户需求的不断变更
对于不够成熟的公司,特别是外包公司,自然做自己的产品也少不了需求变更,为了公司利益,程序不得不反复修改功能,最可怕的是在已经基本做好功能后的大改。这时的变更自然造成连锁反应,有许多地方需要改动,甚至于大范围删除自己辛苦写的代码,自然会导致编码与维护力不从心。客户不懂你,所以这也就是为什么公司需要有懂技术的产品经理,来适当规避这些问题。


相信在对上述两个因素的分析里,你已经能根据自身的问题所在,得出自己的解决办法。
一句话,不要忽视工作沟通问题所带来的额外成本,它可能会影响产品的成败。
    siki老师温馨提示(公众号:siki):
文章千万条,点赞分享最重要。 收藏不点赞,老师心儿两行泪。
如果你喜欢游戏开发,欢迎加入Unity 学习资源交流群,群聊号码:954131591(速记:狗屋是一生一屋狗药)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-17 14:23 , Processed in 0.129132 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表