什么时候,进行分解函数,什么时候提炼出来一个小方法,小的方法是不是越多越好,还是应该少一些小的方法,提炼小的方法的目的是什么呢?这些个疑问在我的心里盘旋了很长一段时间,心中也隐隐约约的有了一些答案,但是一切都不明朗。
在我认为,小的方法提炼出来的目的,无非就是两点,第一呢就是代码重用,提炼出来的代码可以给其他的代码使用,这样就可以减少代码,减少了更改的地方,也简洁的增强了代码的可读性。也是今后的代码更改,变得容易一些。第二点呢,我觉得就是为了代码的可读性。代码的长度越长理解起来就越困难,看一篇文章和看个小笑话的难度肯定是不一样的,当然了,还要看写代码的人的水平如何了,即使很小的代码,如果写的人不是很负责人的话,那么可读性也就不用提了。提炼出来一个个小方法,这样看你主方法的人就不用关心小方法里面写的是什么了,它主要看看主方法就知道你是如何实现的,你的架构如何等等。
但是这一切都是建立在命名上面,如果你的小方法的名字起的不知所云的话,别人也不会掉用你的代码了,因为别人不知道那个代码是干什么的,还有,别人看你的主方法的时候,还是要去看你的小方法,因为看名称不知道是干什么,只能看代码。
以前总是觉得调用各种各种各样的类,调用各种小技巧很炫,当然了,这些技巧还是要知道的。现在觉得一个代码的好坏,还是很大一部分依赖于代码的命名规则,不管是变量的还是方法的。
:)呵呵,有些扯远了,说的编码规则上来了,现在转回来。关于什么时候进行提炼小方法,我个人觉得就是在你需要上面两点的时候,就可以提炼小方法,也就是有重复代码(也就是需要共享代码),和整体结构不清楚的时候。
哦,还有,小方法的另外一个好处就是重构别人的代码的时候,我一般都是先把别人的代码分解成一个个小方法,当然了,也不是乱分的,这样就能看到很多无用的代码,和很多耦合的地方。这样,一点一点的分解了复杂的代码之后,自己也明白了原来作者的意图,然后自己也把整个架构给整理出来了,这样,剩下的工作,就可以大刀阔斧的整理了,当然了,也保证测试要跟得上哦^-^.
今天看了《Code Complete》中文《代码大全》,上面也是总结了一些创建子程序的理由,很多都是与C有关的,自然我这个java爱好者所不能理解了,不过写在最后,提醒自己慢慢理解:),我觉得这本书还是不错的,至少前五章我看完了,感觉还是不错,把我以前看到的东西,林林总总的给总结了出来,至少我觉得这本书如果在我刚毕业的时候就看到的话,应该对我帮助很大的,现在只能用于巩固自己的知识了,希望后面的章节对我用处更大一些:)
以下是创建子程序理由概述:
· 降低复杂性
· 避免重复代码段
· 限制改动带来的影响
· 隐含顺序
· 改进性能
· 进行集中控制
· 隐含数据结构
· 隐含指针操作
· 隐含全局变量
· 促进重新使用代码段
· 计划开发一个软件族
· 改善某一代码段可读性
· 改善可移植性
· 分隔复杂操作
· 独立非标准语言函数的使用
· 简化复杂的布尔测试
分享到:
相关推荐
在ABAQUS这一高级有限元分析软件中,UEL(User-Defined Element)子程序是用于扩展ABAQUS标准库功能的重要工具。用户可以通过编写自定义的UEL子程序来实现特定材料行为、几何非线性或者复杂的加载条件。下面将详细...
在ABAQUS中,用户可以通过编写子程序来实现自定义材料模型或者复杂的边界条件,以解决特定工程问题。本实例主要讨论的是ABAQUS Standard中的用户材料子程序(User Material Subroutine),即VUMAT(User-Defined ...
在ABAQUS这一著名的有限元分析软件中,子程序的使用是高级用户为了实现特定材料模型或复杂边界条件而广泛采用的一种技术。标题"cs-20170818_钢筋子程序_abaqus用子程序_"指出,这里涉及的是一个与钢筋相关的子程序,...
**Abaqus用户子程序入门实例1:UMAT子程序详解** 在有限元分析中,Abaqus是一款功能强大的软件,能够处理复杂的结构、热力学和流体动力学问题。UMAT(User-Defined Material)是Abaqus提供的一种用户自定义材料行为...
在ABAQUS中,"FRIC"通常指的是Frictional Restraint (摩擦约束)子程序,用于模拟接触问题中的摩擦效应。这种子程序允许用户自定义摩擦模型,以更好地模拟不同材料之间的接触行为,特别是在有滑移或相对运动的情况下...
在这个场景中,我们将深入探讨"TEMP_复合材料损伤_损伤子程序_ABAQUS的USDFLD子程序_"这个主题,它涉及到如何通过ABAQUS的用户自定义子程序(User-Defined Field Function, USDFLD)来实现复合材料的面内损伤模拟。...
"Abaqus调用子程序的方法" ABAQUS 是一种功能强大的有限元分析软件,但是在使用过程中,用户经常会遇到调用子程序的问题。调用子程序是ABAQUS的一个重要功能,它允许用户编写自己的 Fortran 子程序来实现特定的计算...
在本文中,我们将深入探讨ABAQUS中的HEATVAL子程序,它是一个强大的工具,用于模拟金属材料在拉伸过程中的生热现象。HEATVAL子程序是ABAQUS的一个自定义子程序,允许用户定义复杂的热源项,特别是在考虑非线性热力...
在ABAQUS这一著名的有限元分析软件中,用户可以自定义材料行为,通过编写子程序来实现特定的物理过程模拟。"UMATHTH_热_umatht子程序_"这个标题提示我们,它涉及到的是一个关于热力学行为的自定义子程序,特别地,是...
根据提供的文件信息我们可以推断出该文档主要涉及的是关于802D_PLC子程序库的相关说明和技术细节。下面将从几个方面详细解读并总结出关键的知识点。 ### 一、802D_PLC子程序库概述 802D_PLC子程序库是一种专门用于...
本压缩包包含的“abaqus移动热源+子程序”提供了处理此类问题的一个实例,这对于理解和应用ABAQUS的自定义子程序功能至关重要。 标题中的"abaqus移动热源+子程序"意味着我们将探讨如何在ABAQUS环境中模拟一个随时间...
实验内容一:使用寄器向子程序传递参数 编写一个计算阶乘的子程序,该子程序可以计算八位以内的数值的阶乘。子程序通过寄存器BL接受参数,通过寄存器AX输出计算结果。除了BX和AX两个寄存器之外,子程序调用前后其他...
递归子程序法和预测分析法是编译器设计中的两种重要技术,它们主要用于解析和理解源代码的结构。 首先,让我们深入了解一下递归子程序法。递归子程序法,也称为递归下降解析,是一种自顶向下的解析策略。它基于函数...
《ABAQUS用户材料子程序开发及应用》是由杨曼娟编写的,主要涉及ABAQUS软件中的用户自定义材料模型——umat子程序。ABAQUS是一款强大的非线性有限元分析软件,其用户材料子程序功能允许用户根据特定的需求编写自己的...
《ABAQUS子程序DLOAD深入解析》 在有限元分析领域,ABAQUS作为一款强大的非线性有限元软件,被广泛应用于各种复杂的工程问题。在ABAQUS中,用户可以通过编写子程序来实现自定义的加载条件,增强求解的灵活性。...
在ABAQUS这一强大的有限元分析软件中,子程序的使用是实现复杂模拟和定制化功能的关键。本主题主要关注两个特定的用户自定义子程序:SIGINI和VOIDR,它们用于设定初始条件,特别是初始应力场。这些子程序允许用户在...
"abaqus单元删除子程序"是这样一个高级功能,它允许用户根据预设的应力或应变条件自动移除计算过程中的某些单元。这在处理结构断裂、材料破坏等问题时特别有用,因为这些情况往往涉及到局部区域的失效。 首先,我们...
标题中的"HASHIN_hashin子程序_imagehashing_Fortran_ABAQUSvumat_" 提到了几个关键概念:HASHIN子程序、imagehashing、Fortran编程语言以及ABAQUS的VUMAT(用户材料子程序)。这些元素共同构成了一个在ABAQUS环境下...
**Umeshmotion子程序在ABAQUS中的应用详解** 在有限元分析软件ABAQUS中,用户自定义子程序(User Routines)是扩展其功能的重要手段,它们允许用户根据特定需求定制计算流程。其中,`Umeshmotion`子程序是ABAQUS中...
**ABAQUS子程序vuhard详解** ABAQUS是一款广泛应用的有限元分析软件,它提供了强大的非线性分析功能,包括结构、热传导、流体动力学等多个领域。在ABAQUS中,用户可以通过编写自定义子程序来扩展其功能,以满足特定...