• 代码以功能为单位


    通常,代码以功能为单位,按块划分。
    这里的矛盾主要发生在:
    事件中,动作的发生区域,也就是交叉区域。
    例如:
    吃苹果,“吃”放在动作模块里,“苹果”放在物品模块里。
    “吃苹果”放在动作模块里,还是放在物品模块里,还是单独放在“吃东西”的模块里?
    我认为,最开始应该放在动作模块里,以动作为主要分类标准。
    如果,“吃东西”变的越来越复杂,就需要创建独立的“吃东西”模块,搬运之前的“吃苹果”代码到这个模块里。
    这就是开发过程中的一种重构。
    耗时耗力,非常容易引起BUG,并且,玩家,美术,策划和老板都感知不到,不过,还是有必要的~
    “不重构,会怎么样?”
    省时省力,代码不易维护。
    如果是月抛型代码,可以这么干。
    其他情况,建议花时间和精力重构。
    “有先例吗?”
    很多,Linux的内核代码,或者公共运行时库的代码,可以看到有些文件里,就一个函数,甚至只有几个变量或宏。
    他们这样写,应该是因为这些代码必然不是月抛型代码,保持良好的结构和扩展性,这里就非常重要了。
    不过,这个过程肯定非常耗时,让人纠结,而且,代码产量不高,甚至没有产量,只是“变了个位置”。
    如果,一定要找出一个所谓的标准,我认为,我找不到。
    跟软件工程里的很多问题一样,能标准化的问题,机器都可以做。
    “是否应该进行重构?”,以及“如何进行代码的模块划分?”,机器都做不到。
    或者说,机器能做到,但是,人看了机器写的代码,会非常费解。
    人是给人服务的,机器给人写的代码,人给人写的代码,读代码的人,如果看不懂,不好说这是一个好的做法~
    有点扯远了,总之,代码以功能划分,功能以动作为主要分类标准,必要时进行重构。
    多快好省,保质保量。
    写的不好,来日方长。
    山高路险还远,低头看路。
    抬头看天,啥也不会,大脑一片空白,一步一步地来。
    标准不唯一,多看看多想想,共勉~

    “你这么喜欢写代码,就是码农。”
    有时我也费解“当码农有什么不好的?”。
    我感觉当一个码农,当一个肤浅的码农,挺好~

    无我据说是一种境界,我觉得更多的有点像一种状态,没有把自己放在“里面”,“码农”这个时候,就有点像一种身份,让我只考虑身份,而忘记了“里面”,进而有一点儿无我的状态。
    我觉得可能就是心理学上说的心流(Flow),不一定对,我瞎猜的~

  • 相关阅读:
    Java设计模式之外观模式
    从一到无穷大 #2 优雅的感知与处理Elephant Flows
    C++入门教程(一、初步了解)
    05※、Map集合介绍、HashMap、Hashtable、LinkedHashMap、Properties和Collections
    代码随想录第28天|回溯算法
    Vue权限控制
    刷题日记【第十一篇】-笔试必刷题【小易的升级之路+找出字符串中第一个只出现一次的字符+微信红包+计算字符串的编辑距离】
    自学Java的学习步骤与基本态度
    GPIO实验:ARM汇编代码实现LED灯亮灭控制
    兔子生兔子的问题
  • 原文地址:https://blog.csdn.net/cpdoor2163_com/article/details/125438178