实习小记-代码摆放位置不对,模块化设计的思考
这周已经到第二天了,还记得上个周末去看《大圣归来》,真的好棒,期待二刷!
====为什么突然开始写日记了?====
我也不知道为什么,之前一直都是写在印象笔记上面的,网页版。但有时感觉印象笔记的排版不够给力,网络不好的时候更是坑爹,好不容易写的一段话又得重新写。
想想看还是写点博客比较酷炫,顺便还能给大家看,这同时也给了我动力去练一个更好的文笔。
今天A告诉我,我修改的代码还是有些地方的位置摆放不对,函数设计不够好,要我怎 样怎样。。听的我头都大了,之前辛辛苦苦好不容易设计了这么一个自认为还挺棒的东西,已经被打回重做一次了,现在改过了之后还是不行,要我再改。更要命的 是,A说的和上次说的完全不一样!第一次要我改的时候要我把代码从x放到y,今天却告诉我这样放不行,要把代码从y放到x,在我看来他完全没有意识到他上 次跟我说的话和现在是多么的矛盾!
说到代码的摆放位置,A告诉我我们遵循的模块化设计要达到各个模块各司其职的目 标,什么模块做什么界限要非常清晰,只能看到什么,不能看到什么必须明确,不能责任紊乱,你用点他的东西,我用点你的东西。想想也是非常对的,A还说,可 能这个项目我跟的不够久,区区两个月还不能理解到项目中模块化的东西,所以要我特别注意。尽量的让他们各司其职。不要越界。
这里引用一下百度百科里面模块化设计的内容:
模块化设计,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系。逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进行程序设计,实现其求解算法的方法称为模块化。模块化的目的是为了降低程序复杂度,使程序设计、调试和维护等操作简单化。
毕竟团队小,做得项目也不是特别大,所以目前实习的代码可能会触及到一些核心的部分,A也因此会特别注意我们实习生实习期间在代码规范上要求。
不过话又说回来,模块化就一定非常好吗?他有没有什么缺点?我想是有的。
首先,要想不让自己的程序不像自己思维一样行云流水的写出来,达到模块化这一目的必然要对当前的任务作思考,计划,然后才能开工,如果这是一个非常紧急的项目,那么它的时间成本是十分昂贵的,这时候是不是一定要走模块化的道路需要具体衡量;
然后,模块化的程序设计也就表示了对其功能实现的通用性的强调,比方说我们现在规 定世界上的碗必须是10cm大小,吃饭必须使用这个碗,然而有些小孩饭量小根本不用盛这么多,有些大人放量大,碗太小了只能不停地去剩饭。碗是统一了,但 对于的不合适这个碗的人吃饭的效率却降低了。。(不知道这个比喻恰不恰当)
到底来说目前的模块化设计应该是趋势所在,工厂里面的胶囊生产模式也和模块化设计有着异曲同工之妙。然而倒是既问题里面,具体需不需要我们使用模块化的设计,我看还是需要具体问题具体分析的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?