标签: coding-style

评论特定功能的所有调用?

如何使用简单的vim命令注释掉所有相同功能的调用?

例如,我想注释掉python的所有调试调用 pdb.set_trace()

vim coding-style

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

如何检查函数的任何两个参数都为null

假设我有一个带三个参数的函数.当然,我可以通过这种方式检查此函数的任何两个参数是否为null.

returnType function(p1, p2, p3){

  if((p1 == null && p2 == null) || (p2 == null && p3 == null) || (p3== null && p1 == null)){
       return;    
   }

}
Run Code Online (Sandbox Code Playgroud)

但这相当麻烦,不能扩展到更多的参数.

这样做的优雅方式是什么?

提前致谢.

java parameters coding-style function

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

GPUImage:EAGLContext和线程队列

最近我正在提高我的OpenGL ES技能,查看GPUImage的源代码.当我正在阅读GPUImageContext该类的代码时,我得到它存储queue对它在库的其他部分中使用的引用.

例如,GPUImageView.m在队列中使用commonInitwith runSynchronouslyOnVideoProcessingQueue来执行一些与上下文不直接相关的操作(比如向着色器添加属性).

我的问题是为什么开发人员决定在"辅助"队列上执行这些操作,这是将这个队列存储到像这样的类中的好处GPUImageContext.

我知道这个问题与GPUImage框架严格相关,但我认为这可能是一个很好的机会来理解像Brad Larson这样熟练的开发人员如何决定构建iOS中最着名的图像处理库之一.

我希望我没有以好奇心冒犯作者.

coding-style ios opengl-es-2.0 gpuimage

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

Python - 将下划线转换为Fullstop

将字符串转换'321_1''321.1'.

我想创建一个方法将下划线转换为句号.我使用拆分,但它无法工作..任何人都可以帮助我?或者我必须使用while循环

将下划线转换为fullstop

def Convert_toFullStop(text):

    x1 = ""
    words = text.split()
    if words in ("_"):
        words = "."
    print words
Run Code Online (Sandbox Code Playgroud)

python coding-style

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

哪个更易于阅读?

在可读性方面哪种风格更好?

 bool isNew = (SelectList.Key > 0) ? true: false;
Run Code Online (Sandbox Code Playgroud)

要么

 bool isNew = SelectList.Key > 0;
Run Code Online (Sandbox Code Playgroud)

我知道这是非常微不足道的,但只是想让它变得更好......谢谢

编辑:交换条件语句中的值

.net c c# c++ coding-style

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

风格和普查员

因此,在采用数据结构类(使用C++)的过程中,我的教授希望我们操作一个链接的扑克牌列表.然而,这并不重要,我感兴趣的是为什么她没有使用枚举器来代表套件.

在她的代码中,她使用字符串来保存卡片套件.这似乎效率低下,因为她希望我们根据套件对它们进行排序,在这种情况下,如果她使用枚举类型而不是字符串,那将会相当容易.该字符串也没有提供任何帮助,因为在打印套件时,她输出一个Unicode字符,大约是她的功能长度加倍,只是因为她没有使用枚举.

她有没有理由这样做,或者她在代码风格方面只是有一些奇怪的偏好?

c++ enums coding-style

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

使用char*ch vs char*ch的理由是什么

我最常见的是使用指针旁边的变量名而不是类型的代码.

我原本更喜欢后面的(·char*ch·)因为对我来说更有意义的是我将类型声明为字符指针而只是命名变量.

也就是说,如果有很多人从另一个方面看到它,我觉得我必须遗漏一些东西.有哪些其他方式可以提供更多意义?

c pointers coding-style

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

在Haskell中没有模式匹配的错误处理

我正在尝试编写一个程序,它在命令行中使用两个整数并对它们执行一些有趣的操作.我想尽可能容易和必要地编写整数的读/解,因为它应该是相对简单的代码.

我面临的问题是,在Haskell中处理错误并不是那么简单.似乎在Haskell中经常使用模式匹配.这似乎使得代码比命令式版本更难以遵循.

该程序将像这样运行(在这个例子中,它只是将两个数字加在一起):

$ ./my_prog
ERROR: Must run like `./my_prog NUM_A NUM_B`.
$ ./my_prog cat 1
ERROR: Could not parse NUM_A "cat" as integer
$ ./my_prog 10 dog
ERROR: Could not parse NUM_B "dog" as integer
$ ./my_prog 10 1
11
Run Code Online (Sandbox Code Playgroud)

这是我想要在命令式伪Python中做的事情:

function die (errorMessage):
    print("ERROR: %s" % errorMessage)
    sys.exit(1)

function main ():
    if len(sys.argv) != 2:
        die("Must run program like `%s NUM_A NUM_B`" % sys.progname)

    num_a = 0
    num_b = 0

    try:
        num_a = int(sys.argv[0])
    except:
        die("Could not parse …
Run Code Online (Sandbox Code Playgroud)

python haskell coding-style control-structure pattern-matching

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

C++ 11变量初始化和声明

使用C++ 11提供了一种初始化和声明变量的新方法.

原版的

int c_derived = 0;
Run Code Online (Sandbox Code Playgroud)

C++ 11

int modern{0};
Run Code Online (Sandbox Code Playgroud)

如果有的话,每种方法的优缺点是什么?为什么要实施新方法?编译器有什么不同的做法吗?

c++ coding-style c++11

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

有没有更优雅的方式来编写这个循环?

我有一个循环打印数组的内容,每个元素之间有一个空格,除了最后一个元素之外,在这种情况下只需要一个新行.

然而,我的实现对我来说感觉"很苛刻",我确信有更优雅的方式来编写这个,希望使用一些以前不为我知道的方便的javascript技巧.

这是我的循环:

                for(var k=0; k<cycle1.length; k++){
                    process.stdout.write(cycle1[k]);
                    if(k<cycle1.length-1){
                        process.stdout.write(' ');
                    }else{
                        process.stdout.write('\n');
                    }
                }
Run Code Online (Sandbox Code Playgroud)

javascript loops coding-style

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