标签: conventions

你如何使用Fortran 90模块数据

假设您有一个包含大量变量,函数和子例程的Fortran 90模块.在您的USE陈述中,您遵循哪种惯例:

  1. 使用, only :语法显式声明您正在使用哪些变量/函数/子例程,例如 USE [module_name], only : variable1, variable2, ...
  2. 插入毯子USE [module_name]

一方面,该only子句使代码更加冗长.但是,它会强制您在代码中重复自己,如果您的模块包含许多变量/函数/子例程,那么事情就会开始变得难以驾驭.

这是一个例子:

module constants
  implicit none
  real, parameter :: PI=3.14
  real, parameter :: E=2.71828183
  integer, parameter :: answer=42
  real, parameter :: earthRadiusMeters=6.38e6
end module constants

program test
! Option #1:  blanket "use constants"
!  use constants
! Option #2:  Specify EACH variable you wish to use.
  use constants, only : PI,E,answer,earthRadiusMeters
  implicit none …
Run Code Online (Sandbox Code Playgroud)

fortran module conventions fortran90

36
推荐指数
3
解决办法
5万
查看次数

.NET MVC的理想文件夹结构

当我开始使用.NET Webforms时,我找不到要跟随的文件夹结构,因为VS提供了像"App_Code"这样的应用程序文件夹,大多数应用程序示例都在其中放置了"BLL","DAL"等等.

但是现在在MVC中,我检查的每个例子都使用不同的结构,这次没有标准,我没有在Google或SO上找到一个好的解决方案.

所以,也许我们可以分享我们如何组织我们的MVC项目,可以帮助其他人做出自己的想法.这是我使用的中小型项目的结构:

App_Data
Areas
    Admin
        Controllers
        Models
        Views
    MyAccount
        Controllers
        Models
        Views
Content
    Images
    Scripts
    Styles
Controllers
    HomeController.cs
Helpers
    ExtensionMethods    // I.e. based on HtmlHelper, use "helper" suffix
        MenuHelper.cs    // to be called as html.Menu()
    Utilities.cs    // Other generic (static) libraries, no suffix used
Models
    ViewModels    // for passing models to Views
        RegisterViewModel.cs    // use "ViewModel" suffix
    Customer.cs    // to extend models like adding Model Validation
Repositories
    CustomerRepository.cs    // use "Repository" suffix
Services
    CustomerService.cs    // use "Service" suffix, …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc conventions naming-conventions asp.net-mvc-3 asp.net-mvc-2

35
推荐指数
3
解决办法
3万
查看次数

Ruby中的失败与提升:我们真的应该相信风格指南吗?

Ruby提供了两种以编程方式引发异常的可能性: raise并且fail都是Kernel方法.根据这些文件,它们完全相同.

出于习惯,我raise到目前为止只使用过.现在我找到了几个建议(例如这里),raise用于捕获异常,以及fail用于不应处理的严重错误.

但它真的有意义吗?当你编写一个类或模块,并在内心深处产生问题时fail,你正在查看代码的编程同事可能会很高兴地了解你的意图,但使用我的代码的人很可能不会看到我的代码,无法知道,异常是由a raise还是by 引起的fail.因此,我谨慎使用raisefail不会对他的决定产生任何影响,无论她是否应该处理.

有人会在我的论点中看到瑕疵吗?还是有其他标准,我可能想用fail而不是raise

ruby coding-style exception conventions

35
推荐指数
2
解决办法
1万
查看次数

代码行换行 - 如何处理长行

我正面对一个长153个字符的特定行.现在,我倾向于在120个字符之后破坏事物(当然,这在很大程度上依赖于我和当地的惯例.)但说实话,无论我在哪里打破线条都会让它看起来很糟糕.所以我正在寻找一些关于我应该为此做些什么的想法.

这是行:

private static final Map<Class<? extends Persistent>, PersistentHelper> class2helper = new HashMap<Class<? extends Persistent>, PersistentHelper>();
Run Code Online (Sandbox Code Playgroud)

我对这两条关于如何/在哪里打破这条线(及其原因)以及缩短线条本身的方法持开放态度.

我们不是一个Java商店,并没有针对此类事情的本地约定,或者显然我只是遵循它们.

谢谢!

java coding-style conventions line-breaks

34
推荐指数
3
解决办法
12万
查看次数

33
推荐指数
8
解决办法
9684
查看次数

Ruby:布尔属性命名约定和使用

学习红宝石.我的印象是布尔属性应该如下命名:

my_boolean_attribute?
Run Code Online (Sandbox Code Playgroud)

但是,尝试执行以下操作时出现语法错误:

class MyClass
  attr_accessor :my_boolean_attribute?

  def initialize
    :my_boolean_attribute? = false
  end
end
Run Code Online (Sandbox Code Playgroud)

红宝石显然很讨厌"?".这是惯例吗?我究竟做错了什么?

ruby attributes conventions boolean-expression

32
推荐指数
4
解决办法
2万
查看次数

C++ 风格: Stroustrup 对指针星号的放置

有谁知道为什么Stroustrup的风格是指针的放置如下?具体来说,Stroustrup 就此事提供了哪些指导?

int* p;
Run Code Online (Sandbox Code Playgroud)

对比

int *p;
Run Code Online (Sandbox Code Playgroud)

因为声明多个变量需要在每个变量名称旁边加上星号。这将导致:

int* p, *x;
Run Code Online (Sandbox Code Playgroud)

对比

int *p, *x;
Run Code Online (Sandbox Code Playgroud)

在 K&R C 书中,他们解释说星号/指针用作助记符以帮助理解。我觉得奇怪的是,指针/星号与类型相关联,而不是每个示例的第二个显示的变量。有兴趣了解为什么选择第一种样式的背景。

希望能从 Stroustrup 那里得到一些引述来解释这一点。

我正在添加 K&R C 第二版语法第 235 页,其中星号(指针)与声明符相关联,声明符是一个标识符。

K&R p235 第二版

答案Stroustrup 的这篇关于编码风格的文章中。他解释说两者都是有效的,这取决于程序员的偏好。

我不同意这是一个基于意见的问题。Stroustrup 的文章在没有意见的情况下清楚地回答了这个问题。

c++ pointers coding-style conventions

31
推荐指数
3
解决办法
2156
查看次数

node.js中的app.js,index.js和server.js的约定?

在node.js中,似乎我遇到了相同的3个文件名来描述应用程序的主要入口点:

  • 使用express-generator包时,app.js会创建一个文件作为生成的应用程序的主入口点.
  • 通过创建新package.json文件时npm init,会提示输入主入口点文件.默认值为index.js.
  • 在我看到的一些程序中,server.js也是主要的切入点.

其他时候,似乎它们的使用方式存在细微差别.例如,该节点的应用程序的目录结构使用index.jsserver.js在不同的上下文中:

app
  |- modules
  |    |- moduleA
  |    |    |- controllers
  |    |    |    |- controllerA.js
  |    |    |    +- controllerB.js
  |    |    |- services
  |    |    |    +- someService.js
  |    |    +- index.js <--------------
  |    +- index.js <-------------------
  |- middleware.js
  +- index.js <------------------------
config
  +- index.js <------------------------
web
  |- css
  |- js
server.js <----------------------------
Run Code Online (Sandbox Code Playgroud)

这三个名字之间有什么不同?

conventions node.js

28
推荐指数
4
解决办法
1万
查看次数

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

TypeScript项目的目录结构

什么是TypeScript项目的惯用目录结构?

我希望在这样的结构中具有以下特征:

  1. TypeScript源代码和转换的JavaScript的单独目录
  2. 项目源代码和测试代码的单独目录
  3. 解决跨测试和源代码的引用的机制.

directory-structure conventions typescript typescript1.8

26
推荐指数
2
解决办法
2万
查看次数