标签: coding-style

在条件中省略"> 0"?

我最近继承了一个旧项目来进行一些优化并添加新功能.在这个项目中,我在整个代码中看到了这种类型的条件:

if (int_variable)
Run Code Online (Sandbox Code Playgroud)

代替

if (int_variable > 0)
Run Code Online (Sandbox Code Playgroud)

我只使用了第一个选项boolean和变量类型.

你认为第一种选择是一种"正确"的方法来检查数字是否为正数?

c c++ coding-style

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

用空的return语句退出函数是好/不好的做法吗?

我看过很多例子,这使我不只是好奇

以下是两个示例:

  • return;void函数的末尾,这简直是荒谬的。
  • return;在函数中间使用可以打破它。我不喜欢

下面的示例可以阐明第二种情况(第一种情况很明显):

- SomeMethodThatReturnsSomethingOrNot(var param1){

    if (param1 == null){

         CallThisMethod();
         return;
    }

    CallThisOtherMethod(param1);

}
Run Code Online (Sandbox Code Playgroud)

对很多人来说,这很好而且很清楚。对我来说,这充其量是可以接受的。

为什么不简单地使用an if else?您可以避免在return代码中间不需要任何内容,它不会降低可读性,而且,我不知道还有什么要说的,对我来说,这似乎是一种更好的做法。

- SomeMethodThatReturnsSomethingOrNot(var param1){

        if (param1 == null){
             CallThisMethod();
        }else{
             CallThisOtherMethod(param1);
        }

    }
Run Code Online (Sandbox Code Playgroud)

现在,我想在这里强调示例的简单性,我知道可以制作出一些性感的东西,但是我们假装比null检查要复杂一些,需要使用相同的if-return替代of if-else技术。

那么,每个人的想法是什么?

当该方法无效或我实际上不想返回任何东西时,我一直强烈反对返回任何东西。如果最终遇到这种情况,我想重新考虑一下我的体系结构,因为它不应该发生。

我是完全错误/正确的还是这里有讨论空间?

if-statement coding-style return

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

Python什么代码约定将参数拆分成行?

将参数分成行的惯例是什么?是否有PEP对此进行制裁?我没有在PEP8中找到它.

file_like = f(self,
              path,
              mode=mode,
              buffering=buffering,
              encoding=encoding,
              errors=errors,
              newline=newline,
              line_buffering=line_buffering,
              **kwargs)
Run Code Online (Sandbox Code Playgroud)

python coding-style python-2.7

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

Haskell新手:使用布局与否?什么是专业人士和骗子(使用示例)

我似乎无法找到有关haskells布局功能的更多信息,因为据我所知,它类似于pythons格式化要求,除了它是可选的.如何选择不正确使用此选项?从没有它开始是一个好主意,以便我对语言本身有一个坚实的感觉?

haskell programming-languages coding-style

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

大多数pythonic形式用于映射一系列语句?

这有点困扰我一段时间了.在学习Python之前我学习了Haskell,所以我一直喜欢将许多计算作为映射到列表中.这是由列表理解精美表达的(我在这里给出了pythonic版本):

result = [ f(x) for x in list ]
Run Code Online (Sandbox Code Playgroud)

但在许多情况下,我们希望在x上执行多个语句,例如:

result = [ f(g(h(x))) for x in list ]
Run Code Online (Sandbox Code Playgroud)

这很快变得笨重,难以阅读.

我的正常解决方案是将其扩展回for循环:

result = []
for x in list:
  x0 = h(x)
  x1 = g(x0)
  x2 = f(x1)
  result.append(x2)
Run Code Online (Sandbox Code Playgroud)

关于这一点困扰我的一件事就是不得不初始化空列表'结果'.这是一个微不足道的事情,但它让我感到不快.我想知道是否有任何替代等效形式.一种方法可能是使用本地函数(这是他们在Python中调用的吗?)

def operation(x):
  x0 = h(x)
  x1 = g(x0)
  x2 = f(x1)
  return x2
result = [ operation(x) for x in list ]
Run Code Online (Sandbox Code Playgroud)

上述两种形式中的任何一种都有什么特别的优点/缺点吗?或者是否有更优雅的方式?

python coding-style idioms

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

我的javascript出了什么问题?褪色图像

我试图让Javascript通过每隔几秒改变它们的背景来改变某些DIV ID的样式.基本上,一个淡出的标题......这是我的代码,它根本不会改变背景.

你怎么称呼一个功能?

http://pixolia.net/sandbox/morph/index.php

javascript coding-style image

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

逗号分隔文本框值到列表/字符串数组 - 有没有更好的方法来编写此代码?

我想创建一个在文本框中输入的逗号分隔字符串(文件扩展名)的字符串数组/列表.

对于以下代码块:

            Dim csv As String = Textbox1.Text + ","

            While csv.IndexOf(".") <> -1
                lstOfStrings.Add(csv.Substring(0, csv.IndexOf(",")))
                csv = csv.Remove(0, csv.IndexOf(",") + 1)
            End While
Run Code Online (Sandbox Code Playgroud)

输出是:

Textbox1.Text =".exe,.php"

listOfStrings = {".exe",".php"}

有没有更好的方法来编写这段代码?

c# vb.net string performance coding-style

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

如何向高中黑客解释缩进和冗长变量名称是好事?

他是一名优秀的程序员(赢得了一些比赛),但他绝对无视格式化.他认为我,j,k很美......我希望他不会发现goto关键字的存在.

formatting children coding-style

0
推荐指数
4
解决办法
477
查看次数

使用'this':哪里好,哪里不好

我喜欢对所有非局部变量使用'this'语句:对于属性,类变量等,我这样做是为了方便阅读代码,易于理解这个变量的来源.

object someVar;

object SomeProperty { get; set }

void SomeMethod(object arg1, object arg2)
{
  this.SomeProperty = arg1;
  this.someVar = arg2;
}
Run Code Online (Sandbox Code Playgroud)

您如何看待,使用'this'的正确方法是什么?

.net c# coding-style this

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

Javascript悬停效果删除预定义的样式

我正在使用来自Imar Spaanjaars网站教程,使整个表格行可点击并对其产生悬停效果.一旦用户将鼠标悬停在表格行上,它就会删除该行的预定义背景颜色.我想这样做它不会覆盖这种风格.我怎么能这样做?

    <script type="text/javascript">
    function ChangeColor(tableRow, highLight)
    {
    if (highLight)
    {
      tableRow.style.backgroundColor = '#dcfac9';
    }
    else
    {
      tableRow.style.backgroundColor = 'white';
    }
  }

  function DoNav(theUrl)
  {
  document.location.href = theUrl;
  }
  </script>
Run Code Online (Sandbox Code Playgroud)

如果您有更好的建议来完成这项任务,我很乐意听到它们!

我的tr标签中有一个bgcolor标签,如果已经读取了特定的邮件,则由我的php设置.

javascript coding-style

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