标签: coding-style

您是否使用TR 24731'安全'功能?

ISO C委员会(ISO/IEC JTC1/SC21/WG14)已发布TR 24731-1,正在研究TR 24731-2:

TR 24731-1:C库的扩展第一部分:边界检查接口

WG14正在研究更安全的C库函数.该TR旨在通过添加具有缓冲区长度的额外参数来修改现有程序.最新草案见N1225号文件.理由是在N1173号文件中.这将成为技术报告类型2.

TR 24731-2:C库的扩展 - 第二部分:动态分配功能

WG14正在研究更安全的C库函数.该TR面向使用动态分配而不是缓冲区长度的额外参数的新程序.最新草案见N1337号文件.这将成为技术报告类型2.

问题

  • 您是否使用支持TR24731-1功能的库或编译器?
  • 如果是这样,哪个编译器或库以及哪个平台?
  • 您是否因修复代码以使用这些功能而发现任何错误?
  • 哪些功能提供最大价值?
  • 有没有提供任何价值或负值?
  • 你打算将来使用这个图书馆吗?
  • 您是否正在跟踪TR24731-2的工作?

c security coding-style tr24731

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

c#:"System.Object"和"object"之间的区别

在C#中,使用System.Object代码而不仅仅是object,或者System.String不是string等等有什么区别?或者只是风格问题?

是否有理由说一种形式对另一种形式更有利?

c# coding-style

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

如何从列表中删除空字符串,然后从列表中删除重复的值

假设我有一个来自表的列值的列表,如何删除空字符串和重复值.请参阅以下代码:

List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList();
Run Code Online (Sandbox Code Playgroud)

这就是我刚刚编写的内容,但是Amiram的代码更优雅,所以我会选择答案就是这样做:

DataTable dtReportsList = someclass.GetReportsList();

        if (dtReportsList.Rows.Count > 0)
       { 


           List<string> dtList = dtReportsList.AsEnumerable().Select(dr => dr.Field<string>("column1")).ToList();
           dtList.RemoveAll(x=>x == "");
           dtList = dtList.Distinct().ToList();         

           rcboModule.DataSource = dtList;
           rcboModule.DataBind();               
           rcboModule.Items.Insert(0, new RadComboBoxItem("All", "All"));


       }
Run Code Online (Sandbox Code Playgroud)

c# linq coding-style

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

用于查找未使用的包含标头的工具?

我知道PC-Lint可以告诉你包含但未使用的标题.有没有其他工具可以做到这一点,最好是在Linux上?

我们拥有一个庞大的代码库,在过去的15年中已经看到了大量的功能,但是当功能从一个实现文件移动到另一个实现文件时,很少会删除剩余的#include指令,这一点让我们陷入了相当糟糕的状态.显然我可以去除所有#include指令并让编译器告诉我哪些重新包含,但是我宁愿反过来解决问题 - 找到未使用的指令 - 而不是重建已使用的指令列表.

c++ coding-style header-files

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

在方法中使用const而不是变量的优点

每当我在方法中有局部变量时,ReSharper建议将它们转换为常量:

// instead of this:
var s = "some string";
var flags = BindingFlags.Public | BindingFlags.Instance;

// ReSharper suggest to use this:
const string s = "some string";
const BindingFlags flags = BindingFlags.Public | BindingFlags.Instance;
Run Code Online (Sandbox Code Playgroud)

鉴于这些是真正的常量值(而不是变量)我理解ReSharper建议将它们更改为const.

但除此之外,使用const(例如更好的性能)是否有任何其他优势可以证明使用const BindingFlags而不是方便可读的var关键字?

BTW:我刚刚在这里发现了一个类似的问题:Resharper总是建议我创建const字符串而不是字符串,但我认为它更多的是关于类的字段,我的问题是关于局部变量/ consts.

c# resharper coding-style const

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

x> = JavaScript中的x模式

在阅读D3.js的来源时,我看到了x >= x模式.如果它是用于检测数字中的NaN,为什么不只是isNaN(x)x == x

来源,我在哪里遇到它:

d3.min = function(array, f) {
  var i = -1, n = array.length, a, b;
  if (arguments.length === 1) {
    while (++i < n) if ((b = array[i]) != null && b >= b) {
      a = b;
      break;
    }
    while (++i < n) if ((b = array[i]) != null && a > b) a = b;
  } else {
    while (++i < n) if ((b = f.call(array, …
Run Code Online (Sandbox Code Playgroud)

javascript coding-style nan d3.js

70
推荐指数
2
解决办法
4263
查看次数

SQL语句缩进的好习惯

缩进SQL语句的公认惯例是什么?例如,请考虑以下SQL语句:

SELECT column1, column2
FROM table1
WHERE column3 IN
(
SELECT TOP(1) column4
FROM table2
INNER JOIN table3
ON table2.column1 = table3.column1
)
Run Code Online (Sandbox Code Playgroud)

这应该如何缩进?非常感谢.

sql coding-style indentation

69
推荐指数
13
解决办法
5万
查看次数

Java构造函数样式:检查参数不为null

如果你有一个类接受一些参数但是不允许这些参数,那么最佳实践是null什么?

以下是显而易见的,但例外有点不明确:

public class SomeClass
{
     public SomeClass(Object one, Object two)
     {
        if (one == null || two == null)
        {
            throw new IllegalArgumentException("Parameters can't be null");
        }
        //...
     }
}
Run Code Online (Sandbox Code Playgroud)

这里的异常让你知道哪个参数为null,但构造函数现在非常难看:

public class SomeClass
{
     public SomeClass(Object one, Object two)
     {
        if (one == null)
        {
            throw new IllegalArgumentException("one can't be null");
        }           
        if (two == null)
        {
            throw new IllegalArgumentException("two can't be null");
        }
        //...
  }
Run Code Online (Sandbox Code Playgroud)

这里构造函数更整洁,但现在构造函数代码实际上不在构造函数中:

public class SomeClass
{
     public SomeClass(Object one, Object two) …
Run Code Online (Sandbox Code Playgroud)

java null constructor coding-style

69
推荐指数
4
解决办法
6万
查看次数

在jQuery中构建html元素的最简单方法

我在jQuery中看到了许多创建元素的不同样式(以及几种不同的方法).我很好奇建立它们的最清晰的方法,并且如果任何特定方法因任何原因客观上比另一方法更好.以下是我见过的风格和方法的一些例子.

var title = "Title";
var content = "Lorem ipsum";

// escaping endlines for a multi-line string
// (aligning the slashes is marginally prettier but can add a lot of whitespace)
var $element1 = $("\
    <div><h1>" + title + "</h1>\
        <div class='content'>  \
        " + content + "        \
        </div>                 \
    </div>                     \
");

// all in one
// obviously deficient
var $element2 = $("<div><h1>" + title + "</h1><div class='content'>" + content + "</div></div>");

// broken …
Run Code Online (Sandbox Code Playgroud)

javascript jquery coding-style element

69
推荐指数
6
解决办法
7万
查看次数

Java - 何时使用'this'关键字

this在Java中使用关键字的最佳做法是什么?例如,我有以下类:

class Foo {
    Bar bar;

    public Foo(Bar bar) {
         this.bar = bar;
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好,但是如果我将构造函数中的语句更改为,Java就足够聪明地知道发生了什么

 bar = bar;
Run Code Online (Sandbox Code Playgroud)

那么为什么要使用this关键字?(我知道在某些情况下,使用它是完全必要的,我只是要求这样的情况).实际上,我倾向于纯粹为了可读性而使用关键字,但通常的做法是什么?例如,在整个商店中使用它会使我的代码看起来有些混乱

boolean baz;
int someIndex = 5;
this.baz = this.bar.getSomeNumber() == this.someBarArray[this.someIndex].getSomeNumber();
Run Code Online (Sandbox Code Playgroud)

显然是一个糟糕的代码,但它说明了我的例子.在这些情况下,这仅仅取决于个人偏好吗?

java coding-style this

68
推荐指数
6
解决办法
7万
查看次数