标签: coding-style

用于解决Java闭包的最终限制的模式

我正在尝试编写一段非常简单的代码,但无法找到一个优雅的解决方案:

int count = 0;
jdbcTemplate.query(readQuery, new RowCallbackHandler() {
         @Override
         public void processRow(ResultSet rs) throws SQLException {
            realProcessRow(rs);
            count++;
         }
      });
Run Code Online (Sandbox Code Playgroud)

这显然不能编译.我知道的两个解决方案都很臭:我不想计算一个类字段,因为它实际上是一个我需要用于记录目的的局部变量.我不想数数数组,因为它很难看.

这只是愚蠢的,必须有一个合理的方法来做到这一点?

java closures coding-style

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

是否正在使用短路评估来避免指数超出范围异常的坏习惯?

这个问题适用于每个具有短路AND运算符的编程语言,而不仅仅是C#.

问题很简单 - 使用短路评估来避免超出范围的索引异常,例如:

if ((x > 0) && (bar[x] == foo))
Run Code Online (Sandbox Code Playgroud)

要么

if (((x > 0) && (x < bar.Length)) && (bar[x] == foo))
Run Code Online (Sandbox Code Playgroud)

糟糕的编码风格?我知道我可以像这样嵌套循环:

if (x > 0)
{
    if (bar[x] == foo)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

但我发现这是非常难以理解的.

c# coding-style

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

字典:密钥是否存在

我用django来构建我的网络应用程序.其中一个页面发送不同的文件(具有不同的文件类型).我有6种文件类型.而我当前的代码版本(它真的很糟糕 - 这就是我写这个问题的原因)是:

    try:
        file = request.FILES[u'file_doc']
    except MultiValueDictKeyError:
        try:
            file = request.FILES[u'file_fb2']
        except MultiValueDictKeyError:
            try:
                file = request.FILES[u'file_pdf']
            except MultiValueDictKeyError:
                try:
                    file = request.FILES[u'file_txt']
                except MultiValueDictKeyError:
                    try:
                        file = request.FILES[u'file_other']
                    except MultiValueDictKeyError:
                        try:
                            file = request.FILES[u'file_chm']
                        except MultiValueDictKeyError:
                            return HttpResponse('bad file type')
Run Code Online (Sandbox Code Playgroud)

你能告诉我 - 如何改善这种糟糕的代码和平.

TIA!

python dictionary coding-style

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

Python语法错误"def"

我正在尝试编译这段Python代码 -

def isPrime ( n ):
    if n < 2 :
        return false
    for x in range(2,n):
        if (n % x)==0:
            return false
    return true

def nthPrime ( n ):
    y = 0
    z = 1
    while y< n:
        z+=1
        if isPrime( z ):
            y+=1
    return z 
Run Code Online (Sandbox Code Playgroud)

但我在"def"的第9行有这个错误

SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

coding-style python-2.7

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

如何最好地编码以下内容?它可行吗?请参阅说明

正如您将在下面看到的.我正在编写一个名为Property的类,它可以绑定到任何Serializable类型,从类描述中可以看出.

现在,属性中的值在T编译期间自动绑定为类型.

我想实现一个Class getType()方法,该方法应该Class在运行时返回值的对象,即

Property<String> p = new Property<String>();

Class<String> cl = p.getType(); 
Run Code Online (Sandbox Code Playgroud)

在这里,我希望cl是String.class.当然有一种方法是:

return value == null ? null : value.getClass();
Run Code Online (Sandbox Code Playgroud)

问题是它不会反映在返回的类型中并返回原始类型的Class对象.理想情况下,我希望它是类型Class<String>

public class Property<T extends Serializable> implements Serializable {

    private T value = null ;
    private String name = null ;
    private boolean dirty = false ;
    private Entity parent = null ;

    public Class getType() {
        // Here I want to determine the type of T that this …
Run Code Online (Sandbox Code Playgroud)

java coding-style

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

如何重构这个Ruby代码?

我创建了以下内容,但是看起来非常神秘.有没有办法以更Ruby的方式或可理解的方式编写它?

此方法删除数字下方的较低因子.所以,10.high_factors回报[6,7,8,9,10].6可被2整除,因此2被删除.列表中没有大于6的倍数,因此它保持不变.

class Fixnum
  def high_factors
    # Get the numbers that are not divisible by lower ones below self
    list = (2..self).to_a
    2.upto(self).each do |i|
      ((i+1)..self).each { |j| list.delete i if j.is_divisible_by? i }
    end

    list
  end

  def is_divisible_by? divisor
    self % divisor == 0
  end
end
Run Code Online (Sandbox Code Playgroud)

Ruby 1.9.3

ruby refactoring coding-style readability

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

在C++中放置const的最佳位置在哪里?

我已经完成了C#和C,但是当我来到这个C++项目时,我对这个小代码风格问题感到有些困惑.

我在C++程序中有几个const变量(可能是字符串或数字),我想在一个地方收集它们并从其他类访问它们.

例如,在C#和java中,我们可以有一个资源文件或一个配置文件来存储所有这些数据,或者只是一个单例或静态类.

但是我应该用C++做的最好的方法是什么?我应该将const变量放在头文件中还是创建类似JAVA的类?

c++ coding-style const

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

在属性中使用开关检索值时,我应该使用变量作为switch语句还是return语句?

我应该在返回之前保存switch语句的结果吗?或者,当我得到它时,我应该在开关中返回值吗?有没有一种方式比另一种更好的风格?

使用临时变量:

      public double xMax {
      get {
           double val = 0.00f;
           switch(x_option) {
                case 0:
                     val = priMax;
                     break;
                case 1:
                     val = rfMax;
                     break;
                case 2:
                     val = pwMax;
                     break;
           }

           return val;
      }
 }
Run Code Online (Sandbox Code Playgroud)

使用return语句:

 public double xMax {
      get {
           double val = 0.00f;
           switch(x_option) {
                case 0:
                     return priMax;
                case 1:
                     return rfMax;
                case 2:
                     return pwMax;
           }
      }
 }
Run Code Online (Sandbox Code Playgroud)

是否有性能差异和/或清理?

c# coding-style switch-statement

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

为什么这不是有效的Java?

当然这应该是有效的Java?我的语法有些错误吗?

return (url != null) ? url : (throw new NotFoundException("No url"));
Run Code Online (Sandbox Code Playgroud)

如果不是,我想我必须这样做:

if(url == null)
    throw new NotFoundException("No url");
return url;
Run Code Online (Sandbox Code Playgroud)

谁有更简洁的东西?

java optimization coding-style code-snippets

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

关于python函数返回值的最佳实践

假设我在python中编写一个函数,这个函数可以是成功的,也可以是异常.

我应该使用哪一个:

  1. 返回
  2. 返回True
  3. 没有回报

编辑:

谢谢你的回复.在这种情况下,我的意思是询问返回值是否没有进一步的含义,我还是应该做一个return True什么的.

我正在研究的情况是编写thrift服务器端函数,我在犹豫是否使用voidboolean输入服务api.

python coding-style

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