2010-03-28 55 views
2

我已经足够了解编程,现在已经有10年左右的时间了。我没有受过正规教育,尽管我已经阅读了很多关于各种语言的主题的书籍。我现在主要关注的语言将是PHP,至少对于我现在正在做的事情的规模而言。组织代码,分段文件的逻辑布局

我已经使用了一些OOP类了一段时间,但从来没有深入了解幕后的原则。我还没有达到我希望成为表达明智的水平,但是我最近读的这本书The OOP Thought Process让我想提高自己的编程技能。

随着新概念的推动,我开始了一个新项目。我编写了一些可重用的类,用于处理用户身份验证,用户配置文件,数据库接口以及我在大多数项目中定期使用的其他内容。

现在我已经将典型的乱码意大利面代码分解成了一些有组织的文件,在确保文件都包含在需要的时候,我一直有一些问题,如何在逻辑上划分脚本进入课堂,以及如何分割我应该让每个班级。

我真正要求的是建议或建议阅读,它不关注代码的特定功能和格式,而是关注比单纯的爱好项目更大的逻辑布局。

我想学习如何正确地做事情,虽然我仍然在某些领域学习,但除了仅仅是创意和试验/错误之外,这是我不知道的。主要是错误。

感谢您的回复。这个地方很棒。

+1

你有很好的目标,我祝你好运 - 但​​你的问题是相当普遍的。组织将因项目的团队,规模,类型和范围而异,因此您可以通过任何方式缩小问题的范围。 – 2010-03-28 04:35:01

+0

您是否在组织开发环境中的文件,或组织部署系统中的文件? – 2010-03-28 06:20:14

回答

0

我会尝试从以前的项目中体验我的经验,也许他们会帮助你。

如果您尝试对项目进行细分,请尝试查找可能对自己有用的组件。如果你写了例如一个数据库层,考虑如何使数据库层与应用程序的其余部分无关(除了实用程序类和配置)。如果你编写了一个访问数据库层的RichClient,试着把你需要的东西放在它里面,当你从一个Web层访问它的时候,你还需要它。现在你有一个在命令行客户端甚至可能有用的组件。

或者如果你想从较低层次看到这一点,请将你的应用程序拆分成小单元,并且不要让这些单元具有循环依赖关系! !!如果两个组件具有循环依赖关系,则它们不能被分割,并且应该是单个组件。我知道,我有时会违反这条规则,因为您无法始终坚持这条规则,但了解应用程序的构建块是一个很好的规则。模型 - 视图 - 控制模式(Model-View-Control Pattern,MVC)是一种应用程序的另一种流行划分规则,它规定模型(数据类),控件(程序的逻辑)和视图(图形用户接口)应该分成不同的包。虽然我坚持这一点,我会这样分开我的代码。在每个包中,我有不同的模型,视图和控件类,但是模型类并不知道关于控制层的任何内容,而控制层也不知道关于GUI的任何信息。由于GUI开发总是单调乏味,因此经常是应用程序中测试最少的部分(至少在单元测试中),将其从控件中分离出来使编写buisiness逻辑变得更容易。事实上,它可以让你专注于你必须做的事情,这是完成工作,你在buisiness逻辑编码。如果这部分工作,你可以花时间为它写一个漂亮的GUI。当然,图形用户界面和易用性通常会将他们自己的要求带到控制中,但至少它的松散耦合。

在我目前的大型项目中,我们有一些组件,我们现在将其视为独立产品,这些组件被真正的产品使用。这使得负责人能够更轻松地测试和编写独立组件,并为每个人提供更稳定的组件。

只是我2¢。