自学成才想要清理(包装,结构,最佳实践......)

时间:2014-01-02 02:47:04

标签: actionscript-3 class directory packages naming

首先,我为这个稍微含糊的问题道歉。

我是一名自学成才的人,我的工作越多,我发现自己越想投入整个过程(上帝知道还有改进的余地)。

我正在寻找非常“基本”的材料(书籍建议,如果可以!)关于如何构建代码和注释以使事情变得清晰,如何构建项目目录(我应该把我的东西分成多远)包?如何正确地命名类,子类,使它完全可以理解和清楚?),这种东西。不是真正的如何使事情发挥作用,而是如何使事情变得干净,易懂和结构良好

我一直在阅读很多关于设计模式,良好的软件设计和类似的东西,但在我的知识中存在这种“差距”,我可以想到一个很好的解决方案来解决我的问题,但< em>执行本身非常混乱和丑陋。

我一直独自工作,很有可能我很快就会与其他程序员一起工作。现在我有时无法理解自己的代码,所以其他人无法潜入并帮助我。

我在AS 3.0编码,如果有人想知道。

非常感谢:)

1 个答案:

答案 0 :(得分:0)

根据您对编码的新程度,我建议您研究为什么“封装”有意义 当我不熟悉面向对象编程时,我无法理解封装的吸引力,但现在我看到它如何真正有助于保持代码“干净” - 我强烈怀疑它是许多其他面向对象概念的基础;设计模式,避免“紧耦合”,组合,代码重用等 这是关于封装的维基信息...... http://en.wikipedia.org/wiki/Encapsulation_(object-oriented_programming) ..但这是我的总结:

我听说过所用汽车的类比:用户不需要知道发动机是如何工作的;他们只需要知道,当他们转动钥匙时,发动机会工作。封装使类的方法的实现保密。方法本身是公共的(可在类外访问)但属性是私有的。

通过将属性设为私有并限制类中面向公众的方法的数量,您可以让您的类尽可能独立地运行。它还意味着你可以完全改变一个方法在类中实现的方法(只要它保留相同的名称和参数签名),而该类的任何人都不需要知道任何关于它的东西。即使那个“任何人”都是你,它仍然可以真正加速开发,因为你不必在整个代码中追踪对类的公共变量的多个引用。

所以AIM让你的类执行一个功能;想想一个方法实际上是否会更好地“隐藏”在另一个类中。即使你有另外一个实例化'inside'的多个对象,你的代码也会更加干净,你可以更加确定你要搜索的特定代码片段是什么 - 如果一个类主要有一个函数,那么它更容易记住它的作用。

除此之外,我还建议只使用浅层继承;具有复杂的类和子类层次结构可能导致需要从多个类继承的对象。查看'组合'和接口。 (接口是AS3没有多重继承的解决方案)。