标签: conventions

C++:标识符、关键字、名称和实体之间有什么区别?

下面的“identifier”是变量名i吗?是int“关键字”吗?

int main()
{
     int i;
}
Run Code Online (Sandbox Code Playgroud)

我无法理解关键字、标识符、名称、实体之间的区别。

c++ conventions

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

__FUNCT__ 有什么用?

我正在查看一些PETSc示例代码,我遇到了这个片段:

#undef __FUNCT__
#define __FUNCT__ "main"
Run Code Online (Sandbox Code Playgroud)

就在main开始之前。

__FUNCT__在每个函数(或只是 main?)之前设置或类似的东西是标准的 C 编程约定吗?

如果是这样,为什么要这样做?

c conventions c-preprocessor

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

将 Rails 应用程序连接到现有数据库

我有一个客户要求我帮助他们构建一个 ruby​​ 应用程序,以便与为在 php 上运行的不同应用程序创建的数据库交互。问题在于,由于数据库没有使用 rails 搭建脚手架,因此它不遵循任何 rails 约定。例如,有一个表叫form

如果我运行该命令,rails generate model form那么 rails 将推断表名是 form s

此外,我不希望 ruby​​ 执行任何迁移,因为数据已经处于我想要的状态。有什么好的方法可以解决这个问题吗?

database ruby-on-rails conventions

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

解释'some_list[0:0] = new_list'的用法

我遇到了这段代码,它给出了很长的文件路径列表,但我很好奇这[0:0]部分代码的意义是什么,但我似乎找不到对这个特定语法用法的任何引用。

sys.path[0] =意味着同样的事情sys.path[0:0]?这也是一回事吗?

由于我似乎无法找到对此类代码的引用,这是否意味着在较新版本的 Python 中有更好的方法来执行此操作?我问是因为我怀疑使用此代码的应用程序是在 Python 2.4 上构建的。

import sys
sys.path[0:0] = [
  '/home/nac/eggs/Pillow-2.7.0-py2.7-linux-x86_64.egg',
...
...
...
 '/home/nac/eggs/pycparser-2.14-py2.7.egg',
]
Run Code Online (Sandbox Code Playgroud)

python conventions

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

npm ENOSELF 错误 - 在其 gh-pages 分支中安装软件包

我想使用 Lib 本身为 GitHub 上的 JS Lib 编写一些文档。我创建了一个名为的空分支gh-pages并开始构建文档页面。现在我需要使用我正在记录的 Lib 编写一些 Javascript,因为谁不会使用他们自己的库。我尝试通过安装它,npm install但显然出现了这个错误:

npm ERR! code ENOSELF
npm ERR! Refusing to install package with name "package" under a package
npm ERR! also called "package". Did you name your project the same
npm ERR! as the dependency you're installing?
npm ERR!
npm ERR! For more information, see:
npm ERR!     <https://docs.npmjs.com/cli/install#limitations-of-npms-install-algorithm>
Run Code Online (Sandbox Code Playgroud)

那么如何gh-pages从主分支复制的情况下将代码库放入我的-branch 中呢?我不想在两个不同的分支中维护相同的代码库。

conventions npm github-pages

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

在Java编码约定中,对于多行if条件,逻辑运算符放在哪里?

在多行if条件下,我想知道我们是否遵循放置逻辑运算符(&&, ||)的约定,或者是否只是一个偏好

if假设我们有下面这种情况:

Bird bird = new ...; // Some bird species
if (!bird.canFly() && bird.hasWings() && bird.hasFeathers() && bird.canSwim() || ...) {
...
}
Run Code Online (Sandbox Code Playgroud)

对于上面的长if条件,为了可读性,我们可能会做一个多行if条件。

对于逻辑运算符,我们把它们放在哪里?是在左边还是在右边

就我个人而言,我将它们放在左侧以便我知道在以下情况下使用哪个运算符。

我这样做是对还是错?

java conventions

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

为什么在制作C++项目时建议使用多个文件?

我正在学习 C++,来自 GML,它的语法非常相似。但我不明白的是为什么建议将一个项目分解为多个文件和多种类型的文件。

据我了解,cpp 文件是实际的程序代码,因此人们使用多个文件将程序的功能和部分分解为单独的文件。头文件与 cpp 的代码相同,但它们由 cpp 文件使用,因此它是可以在多个位置引用的重复代码。它是否正确?

对我来说,这没有多大意义,因为你不会为不同的版本交换文件,你仍然需要重新编译,并且所有文件都会合并到一个二进制文件中(或者如果有 dll,则合并一些文件)。

那么对我来说,只拥有一个大文件不是更有意义吗?不要在许多 cpp 文件中重复引用它们的头文件,只需将头文件代码放在单个 cpp 文件的顶部,并使用区域为许多 cpp 文件的内容创建文件下的部分。

我看过一些使用单个文件制作小游戏(例如贪吃蛇)的教程,它们只是在向下移动时创建部分。首先初始化变量,然后是包含所有函数和逻辑的另一部分。然后是渲染器,然后是底部的主函数。这不能扩展到大型项目吗?是否只是为了组织,因为虽然我仍在学习,但我觉得搜索许多文件试图跟踪哪些文件引用了哪些其他文件以及事情发生的位置会更令人困惑。如果所有内容都在一个文件中,您只需向下滚动,所做的任何引用都将是上面定义的代码。

这是错误的还是不常见?有缺点吗?

如果有人能提供一些见解,我将不胜感激。

c++ coding-style conventions

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

Rust 中双或更多换行符的更好实践?

我想要像下面这样的双重休息:

[ your title there ]

some kind of content...
Run Code Online (Sandbox Code Playgroud)

在 Rust 中,有两个宏可以打印到标准输入,一个有 like 中断,另一个没有 like 中断。以及一些可能打印的代码,如下所示:

[ your title there ]

some kind of content...
Run Code Online (Sandbox Code Playgroud)

或者

// use println! only for consistency.

println!("[ your title here ]\n");        // i find it awkward because prinln! already has some sort of '\n' in it.
println!("some kind of content...");

Run Code Online (Sandbox Code Playgroud)

有没有更好的方法在 Rust 中打印两个或更多换行符?或者其他语言将不带 like 中断的 print 和带单个 like 中断的打印作为单独的函数,如 C#、Java、...等?

conventions println rust

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

C++函数约定?

刚刚在uni进行了"编程基础"讲座,并被告知使用/声明函数的约定是将main()函数放在程序的顶部,其下面有函数/过程,并使用前向声明来防止编译器错误.

但是,我总是以另一种方式完成它 - 函数位于main()底部而不是使用前向声明,并且不认为我曾经见过它.

哪个是对的?或者更多是个人偏好的情况?一些澄清将非常感激.

c++ conventions function procedures

0
推荐指数
2
解决办法
613
查看次数

打字稿:是否有任何约定来记录带注释的代码?

我习惯于以特定的方式记录C#项目中的代码,以提高团队生产力,从Visual Studio中的Intellisense等中受益.

代码看起来类似于:

/// <summary>
/// Loads a user with a specific id.
/// </summary>
/// <param name="id">The id of the user to search for.</param>
/// <returns>A user with the given id.</returns>
public User GetUserById(string id) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

用于评论和文档的Typescript是否有类似的约定?甚至是使用这些约定从代码注释(如JavaDoc)生成html文档页面的工具?

c# documentation comments conventions typescript

0
推荐指数
2
解决办法
2087
查看次数