vvM*_*Ovv 7 javascript etiquette repository
创建库的最佳实践是什么?
我已经开发了近10年,并且在我工作的时候一直在建立我的图书馆.
我目前的设置方式遵循以下模式:
MYLIB.SomeUtility.utilFunc();
new MYLIB.SomeProject.ProjectClass(); //project specific classes
//Sometimes I have classes that extends external libraries,
//like JQuery, or KinteticJS objects
new MYLIB.SomeExternalLibrary.ExternalLibraryClass();
Run Code Online (Sandbox Code Playgroud)
我的库有css/js/php/as3中的文件,但为了避免混淆,我将它们分别放入各自的库中,如:MYLIB_JSetc ...
例如,在JS库中,我有WebGL,Canvas,JQuery,Regular JS类(如果我们称之为那个).
你可以看到它有点混乱,所以我试图了解其他人在做什么,所以我列出了一些快速问题:
如何处理:
在我研究的过程中,我想到了谷歌,并且我问自己,他们如何处理他们的谷歌地图库,他们必须拥有一个包含一系列实用功能的通用谷歌库,但也有一些仅用于谷歌地图的文件,他们有后端可能是PHP和JS前端,那么如何管理呢?
谢谢你的帮助:D
PS.我使用Git进行版本控制工作
我写这篇文章是因为你想知道别人做了什么.这就是我的工作.我不会声称这是"最佳做法".
1)当岁月流逝时,我意识到我通过项目记住了我的图书馆.因为项目是实际的挑战,而不是图书馆.
2)我们不再用单一语言编写程序.趋势是云服务器和应用程序必须以多种语言处理多个平台.
3)我看到,每次构建应用程序时,如果它变得更好,平台代码开始反映编码语言和框架独立(尽可能多),功能相似.
4)回顾项目时,它应该准备好重新工作,或者在不重新定义目录结构等的情况下进行任何编译......所以如果你使用特定于平台的代码,你必须根据平台编码要求来做,例如,强制将android代码存储在另一个目录结构中然后eclipse的几乎是荒谬的.
那我该怎么做:
主要切入点始终是project.在那之下,我分成了平台.在此之下,我分为平台工具和框架.
即:
TheGreatWebProject
|------->Server
| |------>Php
| | |------>aScaryPhpFrameWork
| | |------>myPhpLibraries
| | |-----------> myPhpLib1
| | |-----------> myPhpLib2
| |------>DotNet
| |------>aScaryDotNetFrameWork
| |------>myDotNetLibraries
| |-----------> DotNetOutputs
| |-----------> myDotNetLib
| |-----------> myDotNetSources
|
|
|------->Client
| |------>Html
| |
| |------>Css
| |
| |------>JavaScript
| | |-----------> aScaryJsLibrary
| | |-----------> myJsLib1
| | |-----------> myJsLib2
| |
| |------>ActionScript3
| |-----------> aScaryAs3Library
| |-----------> swfOutputs
| |-----------> myClient1.fla
| |-----------> myClient2.fla
| |-----------> myAs3AppSrc(in package
| management file structure)
|
|
|------->Extras
|------>Locales
|------>Documents
|------>Images
|------>Audio
|------>Video
|------>Other
Run Code Online (Sandbox Code Playgroud)
对于每个子部分,子分类将反映实现,ide和平台依赖性.所以不great cure that fits all存在......
现在最后我有一个目录:项目,在它下面我有多年的目录,每年我都有我今年制作的项目......
我希望这有帮助.