`

正交性

阅读更多

正交性是从几何学中借来的术语。如果两条直线相交成直角,它们就是正交。

 

我们想要设计自足的组件:独立,具有单一、良好定义的目的和内聚。如果组件是相互隔离的,你就知道你能够改变其中之一,而不用担心其余组件。只要你不改变组件的外部接口,你就可以放心:你不会造成波及整个系统的问题。

 

 

正交性的好处可以分为:提高生产效率与降低风险。

 

提高生产效率

 

a.改动得以局部化,所以开发时间和测试时间得以降低。与编写单个的大块代码相比,编写多个相对较少的、自足的组件更为容易。你可以设计、编写简单的组件,对其进行单元测试,然后把它们忘掉 ---当你增加新代码时,无须不断改动已有的代码。

 

b.正交的途径还能够促进复用。如果组件具有明确而具体的、良好定义的责任,就可以用其最初的实现着未曾想象过的方式,把它们与新组件合在一起。

 

c.如果你对正交的组件进行组合,生产率会有相当微妙的提高。假定某个组件做M个事情,而另一个组件做N件事情。如果它们是正交的,而你把它们组合在一起,结果就能做M*N件事情。但是,如果这两个组件是非正交的,它们就会重叠,结果能做的事情就更少。通过组合正交的组件,你的每一份努力都能得到更多的功能。

 

降低风险

 

A.正交的途径能降低任何开发中固有的风险。

 

B.有问题的代码区域被隔离开来。如果某个模块有毛笔,它不大可能把病症扩散到系统的其余部分。要把它切掉 ,换成健康的新模块也更容易。

 

C.所得系统更健壮。对特定区域做出小的改动与修正,你所导致的任何问题都将局限在该区域中。

 

D.正交系统很可能能得到更好的测试,因为设计测试、并针对其组件运行测试更容易。

 

E.你不会与特定的供应商、产品、或是平台绑定在一起,因为与这些第三方组件的接口将被隔离在全部开发的较少部分中。

 

软件的正交性原则在团队开发编码,设计,测试阶段都显重要。那么我们在编码中如何更好的实现代码的正交性?

 

1.让你的代码保持解耦。编写羞怯的代码---也就是不会没有必要地向其他模块的暴露任何事情、也不依赖其他的实现模块。

2.避免使用全局数据。每当你的代码引用全局的数据时,它都把自己与共享该数据的其他组件绑在了一起。即使你只想对全局数据进行读取,也可能会带来麻烦(例如,如果你突然需要把代码改为多线程)。一般而言,如果你把所需要的任何环境(context)显示地传入模块,你的代码就会更易于和维护。在面向对象应用中,语境常常作为参数传给对象个构造函数器,换句话说,你可以创建含有语境的结构,并传递指向这些结构的引用。

 

避免编写相似的函数。你常常会遇到看起来全都很像的一组函数-它们也许在开始和结束处共享的代码,中间的算法各有不同。重复的代码结构问题的一种症状。更了解更好的实现,可以采用策略模式。

 

养成不断地批判对待自己的代码的习惯。寻找任何重新进行组织、你改善其结构和正交性的机会显得非常的重要。

0
0
分享到:
评论

相关推荐

    ofdm 正交性检测

    3. **正交性检验**:`xn*xn'/N`计算的是各个子载波的自相关,如果系统正交,结果应该接近于0,这在一定程度上验证了OFDM系统的正交性。`fft(xn.').'`是进行傅里叶变换,`Xk`存储了每个子载波的频域幅度。 4. **循环...

    正交性和最小二乘法.doc

    在数学和工程领域,正交性和最小二乘法是非常重要的概念,它们在数据处理、统计分析和信号处理等方面有着广泛的应用。正交性主要涉及到向量之间的关系,而最小二乘法是一种求解线性方程组近似解的方法。 正交性是指...

    基于单片机的磁通门传感器非正交性校正研究.pdf

    由于其敏感性和精确度,非正交性误差是影响磁通门传感器性能的一个重要因素。非正交性误差指的是传感器的三个正交的测量轴之间存在交叉耦合,从而导致测量结果偏离真实值。为了提高磁通门传感器的测量精度,必须对其...

    test_orthogonality_检验正交性_信号正交性_

    在信号处理领域,正交性是一个非常重要的概念,特别是在数字信号处理、通信系统以及频谱分析中。"test_orthogonality_检验正交性_信号正交性_" 这个标题暗示了我们讨论的主题是关于如何检测和理解信号之间的正交性质...

    3多自由度体系主振型的正交性和主振型矩阵[参照].pdf

    3多自由度体系主振型的正交性和主振型矩阵 本文总结了3多自由度体系主振型的正交性和主振型矩阵的知识点,涵盖了主振型的正交性、主振型矩阵的概念和性质,以及它们在振动分析中的应用。 一、主振型的正交性 主振...

    计量经济学及stata应用 4.一元线性回归 4.3OLS的正交性.mp4

    计量经济学及stata应用 4.一元线性回归 4.3OLS的正交性.mp4

    三角函数之正交性 精解

    ### 三角函数之正交性精解 #### 引言 在探讨傅立叶级数时,经常会遇到涉及三角函数中的“正弦函数”和“余弦函数”的定积分问题。为了解决这类常见问题,前人发现可以利用三个简单的积分关系来推导出问题的积分值...

    MATLAB实现检验正交性.zip

    在无线通信领域,正交性是一个非常重要的概念,它涉及到信号处理、频谱效率和干扰抑制等多个方面。MATLAB作为一种强大的数值计算和仿真工具,被广泛用于无线通信系统的建模和分析。本项目以"MATLAB实现检验正交性....

    基于matlab的检验正交性内含数据集.zip

    在 MATLAB 环境中,正交性是一个重要的概念,主要应用于线性代数、信号处理、数值计算等领域。正交性是指两个或多个向量(或者一组向量)之间的关系,它们相互垂直且内积为零。在矩阵理论中,正交矩阵的列向量(或行...

    OFDM正交性理解

    讲述对正交频分复用理论的理解,通过分析,能够帮助读者加深理解

    8--向量组的正交性.pptx

    向量组的正交性是线性代数中的一个重要概念,尤其在处理向量空间的问题时,正交性起着至关重要的作用。本文件主要介绍了向量的内积、向量的单位化、向量的夹角(这部分内容略)、向量的正交性和正交向量组的性质,...

    基于统计正交性分析的彩色人脸识别.pdf

    【基于统计正交性分析的彩色人脸识别】 在人脸识别技术中,彩色图像的使用可以提供更为丰富的信息,因为它们包含了更多的细节和色彩特征。RGB彩色空间是广泛应用的一种彩色模型,它由红(R)、绿(G)、蓝(B)三种颜色...

    基于旋转正交性的测绘相机内方位元素标定方法_远国勤1

    【基于旋转正交性的测绘相机内方位元素标定方法】是一种提高测绘相机内定向精度的创新技术,由远国勤等人提出。在传统的测绘相机内方位元素标定过程中,精密转台的精度往往会对结果产生影响。为了避免这种影响,该...

    随机过程平稳性遍历性正交性不相关性和独立性.pdf

    精品资源 欢迎下载

    大数据-算法-波函数正交性及能量非对称分布对氦原子同时电离激发的影响.pdf

    在大数据和算法领域,本文探讨的是一个特定的物理问题,即波函数正交性和能量非对称分布如何影响氦原子的电离与激发过程。在量子力学中,电子碰撞原子或分子导致的同时电离和激发反应是一个多体问题,目前没有精确的...

    多小波变换的源码,比单小波变换具有更好的性质,例如可同时具有对称性和正交性

    相比于单小波变换,多小波变换具备更丰富的特性,如对称性和正交性,这使得它在处理复杂信号时能够提供更精细的分析结果。 在信号处理中,小波变换的主要作用是将信号从时间域转换到时间-频率域,从而能同时捕捉...

    3MATLABYUYIN.rar_1.5维谱 matlab_1/2维谱_2.5维谱_EMD 正交性_离散余弦变换

    3.1语音信号的同态处理和倒谱分析30 3.1.1同态处理的基本原理30 3.1.2复倒谱和倒谱31 3.2离散余弦变换34 ...3.5.3EMD法的完备性和正交性57 3.5.4基于EMD的Hilbert变换的基本原理和算法59 3.5.5EMD法的MATLAB函数60

    12 四个基本子空间的正交性.pdf

    在数学和线性代数的领域中,矩阵的四个基本子空间以及它们之间的正交性是核心概念之一。首先,我们来回顾矩阵的四个基本子空间是如何定义的。假设有一个m×n的矩阵A,那么它有四个基本子空间:行空间(Row Space)、...

Global site tag (gtag.js) - Google Analytics