标签: code-organization

Rust 中的跨模块函数调用

我正在尝试从另一个模块调用属于某个模块的函数(用于代码分解、组织)。

这是我的箱子结构:

?  mod_test git:(master) ? tree
.
??? Cargo.lock
??? Cargo.toml
??? src
    ??? bin
    ?   ??? one.rs
    ??? lib
    ?   ??? two.rs
    ??? main.rs

3 directories, 5 files
Run Code Online (Sandbox Code Playgroud)

main我声明:

pub mod bin {
    pub mod one;
}
pub mod lib {
    pub mod two;
}
Run Code Online (Sandbox Code Playgroud)

所有这些文件只包含一个微不足道的 pub fn main() {println!("hello");}.

此时,一切正常

现在,是它可以调用lib::two::mainbin/one.rs

use crate::lib::two;, use super::lib::two;, 都没有use self::super::lib::two;添加到bin/one.rs工作中。 …

module code-organization rust rust-crates

6
推荐指数
1
解决办法
941
查看次数

仅为根目录中的文件添加代码所有者

如果我有一个这样结构的项目:

\n
project\n\xe2\x94\x82   README.md\n\xe2\x94\x82   config.json\n    package.json\n\xe2\x94\x82\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80folder1\n\xe2\x94\x82   \xe2\x94\x82   fileA.js\n\xe2\x94\x82   \xe2\x94\x82   fileB.html\n\xe2\x94\x82   \n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80folder2\n    \xe2\x94\x82   fileC.js\n    \xe2\x94\x82   fileD.html\n
Run Code Online (Sandbox Code Playgroud)\n

如何向CODEOWNERS文件添加规则,仅授予用户对根文件夹中的文件的所有权,而不授予用户对任何子目录中的文件的所有权?

\n

我尝试了以下方法,但似乎没有一个能按我想要的方式工作:

\n
# CODEOWNERS\n/ @johnSmith\n\n./ @johnSmith\n\n/* @johnSmith\n
Run Code Online (Sandbox Code Playgroud)\n

github code-organization

6
推荐指数
1
解决办法
2632
查看次数

组织许多小项目的subversion存储库的最佳方法

首先,我看了以下几页,并没有得到我的答案: 你如何组织一个颠覆 - 内部存储库软件项目以及 你如何做 -组织-您的版本控制系统信息库

我还查看了使用Subversion实用版控制的第8章.

他们都有很好的建议,但我很难将其与我的需求联系起来.

基本上,我想组织我们的Web服务器的代码.我们有$ WEBROOT/htdocs和$ WEBROOT/cgi-bin.在我们的htdocs目录下,我们为java脚本和样式表提供了$ WEBROOT/htdocs/js和$ WEBROOT/htdocs/css.

我们的"项目"不是真正的项目,而是一些代码 - 可能是Perl脚本,java脚本文件和样式表.我们可能有大约一百个这样的小"项目",它们几乎都是相互独立的,但都存在于同一个Web服务器上的同一个$ WEBROOT中.

我们的代码还没有进行颠覆,但我希望它是 - 我只是在组织它时遇到了麻烦.如果需要,我们可以有多个svn存储库,但如果每个存储库只有3-10个元素,那对我来说似乎是一种浪费.

我认为可以工作的是这样的:如果我编写一个脚本来计算Web服务器上正在运行的进程(为了一个例子).假设我有一个perl脚本,一个js文件和一个css文件.我可以将"project"命名为webserver_processes,并将其作为以下内容检入存储库:

/svnrepo/webserver_processes/trunk
Run Code Online (Sandbox Code Playgroud)

在行李箱下,我可以:

htdocs/html/webserver_processes
htdocs/js/webserver_processes
htdocs/css/webserver_processes
cgi-bin/webserver_processes
Run Code Online (Sandbox Code Playgroud)

我在这个"项目"中没有任何静态html文档,但如果我这样做,他们会进入"html"目录.

我在这个结构中看到的好处是,我可以一次签出一个"项目",而不会真正影响Web服务器上的任何其他内容.缺点(也许并非真正的缺点)是部署.我必须一次从存储库部署1个项目.我不知道如何用我的$ WEBROOT/htdocs结构和$ WEBROOT/cgi-bin使用这种方法创建一个工作副本.

另外一个选项:

我可以像这样创建一个svn存储库:

/svnrepo/webcode/trunk
Run Code Online (Sandbox Code Playgroud)

在trunk下面是我的web服务器上的所有代码,在这两个目录中:

htdocs
cgi-bin
Run Code Online (Sandbox Code Playgroud)

最大的缺点是,对于1个元素的小代码更改,我将不得不检查我的Web环境中的每一段代码.好处(有点)是我可以在我们的Web服务器上执行"svn update"以获取对存储库提交的任何更改.

也许我只是让它变得比它应该更复杂,但是有没有人对如何在subversion中有效地组织我的代码有任何建议?

提前谢谢了!

布赖恩

svn infrastructure code-organization svn-organization

5
推荐指数
1
解决办法
5796
查看次数

这个虚线叫做什么,在我的IDE中对齐功能块?

我用于Python代码的SPE IDE使用这个"视觉提示",它看起来像一个垂直虚线,用于对齐(我会称之为)功能块.如何在Visual Studio 2008中获得此选项?

这是它的样子:

visual-studio-addins code-organization visual-studio

5
推荐指数
1
解决办法
952
查看次数

C#:具有服务层,接口和模拟的文件夹结构?

我最近开始创建服务层并进行如下声明:

MyService myService = new MyService();
myService.DoSomething();
Run Code Online (Sandbox Code Playgroud)

这是受一些ASP.NET MVC视频的启发,我喜欢这种模式.

然后我开始创建接口和模拟,如:

IMyService myService = new MockMyService();
myService.DoSomething();
Run Code Online (Sandbox Code Playgroud)

所以我可以隔离部分代码进行测试.但现在我的服务层文件夹加载了类,接口和模拟类:

IServiceTypeA.cs
ServiceTypeA.cs
MockServiceTypeA.cs
IServiceTypeB.cs
ServiceTypeB.cs
MockServiceTypeB.cs
...
IServiceTypeZ.cs
ServiceTypeZ.cs
MockServiceTypeZ.cs
Run Code Online (Sandbox Code Playgroud)

你如何以合理的方式组织这些?

c# directory-structure code-organization project-structure

5
推荐指数
1
解决办法
2746
查看次数

我应该如何看待我的JavaScript应用程序命名空间?

我正在构建一个具有单个全局命名空间的应用程序,如下所示:

var myApp = {};
Run Code Online (Sandbox Code Playgroud)

然后,我有一堆不同的可重用"模块",包括模型,视图和控制器.

//Bar chart module code
org.example.chart.bar.module
org.example.chart.bar.model
org.example.chart.bar.view
org.example.chart.bar.controller
Run Code Online (Sandbox Code Playgroud)

我还有一个大的dataSource单例和一个dataManager,用于将数据加载到dataSource:

org.example.data.dataSource
org.example.data.dataManager //populates the dataSource with CSV data
Run Code Online (Sandbox Code Playgroud)

最后,应用程序中应该提供的翻译字符串和设置:

org.example.static.translations
org.example.static.settings
Run Code Online (Sandbox Code Playgroud)

您如何(重新)组织这个以便我可以轻松访问应用程序级单例(例如dataSource,dataManager,翻译等)并且可以轻松实例化在当前应用程序实例下获取作用域的可重用模块?

(例如,你是否已经从一开始就为你的"类"和你的应用程序使用相同的命名空间?或者你可能会像这样引用:myApp.translations = org.example.static.translations?)

javascript namespaces code-organization

5
推荐指数
1
解决办法
524
查看次数

编程方法论.何时编写单用途功能?

我很抱歉,但我无法定义我想弄清楚的"事情".

在编写函数时我们可以采用不同的方法,我已经做了一些"占位符"示例:

--------A---------
getImageSmall();
getImageLarge();
getTextSmall();
getTextLarge();
--------B---------
getImage('small');
getImage('large');
getText('small');
getText('large');
--------C---------
get('image','small');
get('image','large');
get('text','small');
get('text','large');
--------D---------
get(array('type'=>'image','size'=>'small'));
get(array('type'=>'image','size'=>'large'));
get(array('type'=>'text','size'=>'small'));
get(array('type'=>'text','size'=>'large'));
--------E---------
get('{"type":"image","size"=>"small"}');
get('{"type":"image","size"=>"large"}');
get('{"type":"text","size"=>"small"}');
get('{"type":"text","size"=>"large"}');
Run Code Online (Sandbox Code Playgroud)

我也可以包含对象,但我现在更喜欢保持简单.

"D"中的数组是一个php数组,用于显示使用json的示例"E"之间的区别.

您可以看到这种方法如何逐渐从一种思维方式转变为另一种方式,其中功能定义转向信息交换.这并不意味着"get"函数是执行所有操作的主函数,它可能是调用其他函数的信使函数,其唯一目的可能是将应用程序转换为服务.

问题是:

  • 编码风格的这种转变叫什么?(主要问题)
  • 什么时候最好用哪个?
  • 我在哪里可以阅读更多相关信息?

欢迎澄清和评论/问题/答案,以改善这个问题.

php theory coding-style code-organization

5
推荐指数
1
解决办法
706
查看次数

嵌套函数的好处是什么(一般来说/在Swift中)

我刚刚学习了一些Swift,我遇到了关于嵌套函数的部分:

函数可以嵌套.嵌套函数可以访问外部函数中声明的变量.您可以使用嵌套函数来组织长或复杂函数中的代码.

这里开始

因此,如果声称的好处是"组织代码",为什么不在外部函数之外独立地拥有嵌套函数?对我来说,这看起来更有条理.

我能辨别的唯一好处是你"可以访问在外部函数中声明的变量",但与嵌套函数的混乱相比,这似乎微不足道.

有什么想法吗?

conventions function code-organization nested-function swift

5
推荐指数
1
解决办法
1652
查看次数

每个反应组件都应该放在一个单独的文件中吗?

它们似乎在文档示例中位于同一文件中:https : //facebook.github.io/react/docs/thinking-in-react.html

在这样的某些组件很小的实例中,如何将组件分解为页面?

class ProductCategoryRow extends React.Component {
  render() {
    return (<tr><th colSpan="2">{this.props.category}</th></tr>);
  }
}

class ProductRow extends React.Component {
  render() {
    var name = this.props.product.stocked ?
      this.props.product.name :
      <span style={{color: 'red'}}>
        {this.props.product.name}
      </span>;
    return (
      <tr>
        <td>{name}</td>
        <td>{this.props.product.price}</td>
      </tr>
    );
  }
}

class ProductTable extends React.Component {
  render() {
    var rows = [];
    var lastCategory = null;
    this.props.products.forEach((product) => {
      if (product.name.indexOf(this.props.filterText) === -1 || (!product.stocked && this.props.inStockOnly)) {
        return;
      }
      if (product.category !== lastCategory) { …
Run Code Online (Sandbox Code Playgroud)

javascript code-organization organization jsx reactjs

5
推荐指数
1
解决办法
1123
查看次数

TestCafe-如何运行多个灯具(一个接一个,另一个不并发)?

我有多个装置(一个网站和一个混合应用程序之间的交互),我想运行一个测试套件(烟雾测试,回归测试...),但是我不确定该怎么做。

这是我的测试结果:

在此处输入图片说明

我想做的是运行所有测试(例如CreatePollAndCloseIt.js,CreatePollPinAndDelete.js,CreateStreamAssertions.js等,直到最后一个VotePollWhitelabel),然后获取报告。

谢谢!

automated-tests code-organization web-testing e2e-testing testcafe

5
推荐指数
1
解决办法
1236
查看次数