我必须维护用Delphi编写的旧软件.源树真是一团糟.我正在尝试做两件事:制作干净的目录结构并设置自动构建过程.
现在我已经制作了以下目录树
\Project \build\output \dist\release \dist\debug \doc \env \res \src
\src
目录包含*.pas
和*.dfm
文件和project.dpr
.各种资源(图标,图像和字体)都驻留在\res
目录中.\env
用于创建各种环境以进行调试.IDE已设置为将project.exe构建到此目录中.构建脚本存储在build
文件夹中.借助于这些脚本在dist\release
和dist\debug
文件夹中生成产品分发(在exe中有和没有调试信息)dcc32.exe
.build\output
用于在IDE内部或构建脚本内部的构建过程中保存dcu文件.
我的方法有一点缺陷.我不能从新的计算机,我的仓库的结账代码开始,开始构建脚本并接收准备使用项目的分配.我需要先打开IDE,安装所需的组件(例如RXLib
和MemoEx
),设置库路径等等.只有在那些步骤之后我才能运行我的构建脚本.
直到上周才出现这个问题.我修改了第三方组件以修复错误(此组件不再维护:-(),所以我必须将此组件的代码添加到我的项目结构中.此时如果我将从我需要检查repo是否有第三方库的代码更改.如果更改了libs的代码,我需要重新编译组件并重新安装它们.
问题
bpl
以及dcu
在组件构建期间生产哪些.我应该把它们放在Project\build\output
?或者最好将输出放到另一个位置(不要覆盖Delphi设置),但更改项目配置中的库路径?我有一个带有多个功能模块的Angular项目,但是我不确定构造共享模块的最佳实践是什么。
SharedModule
?我认为(1)听起来很容易编写,但是我有点担心将部分未使用的代码导入每个功能模块可能会减慢我的应用程序的速度并使延迟加载变得毫无意义。如果有人可以阐明这两种策略的优缺点,那将是非常受欢迎的。谢谢!
所以我用 laravel 后端在 flutter 中创建了一些应用程序,这些应用程序只能在线运行。现在我需要让一个应用程序离线工作,我正在考虑使用 Hive。但现在的问题是我找不到关于如何正确管理这么大的项目的好资源。我过去的项目大多很小,但有了本地存储等,我想使用接口和存储库来管理项目。但我不知道如何将所有内容放在一起以便代码易于管理。
那么有人可以帮助我吗?有没有我可以研究的这样的项目,甚至可能是一篇文章或一个视频。任何能够阐明如何在 Flutter 中构建大型项目的内容都将受到赞赏。
我现在开始写我的第一个Django项目,我需要forms.py
为应用创建文件。我看过一些教程将文件存储在项目的主文件夹下,而另一些则存储在app目录中。
如果我想制作仅适用于一个应用程序的表单,哪种布局最适合我?
是否可以制作多个文件来保存表单代码?
谢谢!
我有一个相当干净的ASP.NET MVC项目结构.但是,我正在努力如何组织大量的DTO(数据传输对象)类,例如只是为了封装来自表单(viewmodels)的帖子数据,但不代表完整的域对象或附近的任何东西; 然后是我所拥有的许多"结果"对象,它们将复杂的结果信息从我的服务层传回控制器.你在哪里填充这些/如何组织它们?我现在有一个文件夹超过60个类,它变得杂乱无章.感谢建议!
这可能是非常基本的东西,但我卡住了,有点无能为力.
我最近在CoffeeScript中写了一个Snake游戏,但我对构建代码的方式并不满意.
我正在尝试使用类重写它.我有一个Game类,一个Snake类,一个Food类.我这样做是有意义的.但是,要访问变量和函数,我使用'@'(this)关键字,我觉得我完全过度了.例如,我在Game类的顶部有一个常量列表.我必须声明所有这些@CONSTANT
都能够访问它们.或者,在方法内:
clearCanvas: ->
@ctx.clearRect 0, 0, @canvas.width, @canvas.height
Run Code Online (Sandbox Code Playgroud)
方法调用也是如此.例如:
init: ->
window.snake = new Snake()
@showStartScreen()
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我这是否可行,或者我应该如何构建我的代码?我现在可以链接到我正在使用的代码,如果有人愿意为我审查它.(编辑:实际上在这里)
非常感谢.
angular ×1
asp.net-mvc ×1
c# ×1
coffeescript ×1
components ×1
dart ×1
delphi ×1
django ×1
flutter ×1
forms ×1
import ×1
javascript ×1
module ×1
python ×1
this ×1