问题列表 - 第9617页

在没有嵌套let的情况下在Clojure中绑定多个相关变量

我想使用变量的值来计算同一let语句中另一个变量的值.有没有办法在Clojure中执行此操作而不使用嵌套的let?

嵌套让解决方案:

(let [x 3] 
  (let [y (+ 1 x)] 
    y)) = 4
Run Code Online (Sandbox Code Playgroud)

期望的解决方案:

(let [x 3 
      y (+ 1 x)] 
   y) = 4
Run Code Online (Sandbox Code Playgroud)

nested clojure let

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

我应该更改单元测试的命名约定吗?

我目前使用一个简单的约定进行单元测试.如果我有一个名为"EmployeeReader"的类,我创建一个名为"EmployeeReader.Tests的测试类.然后我在测试类中为类创建所有测试,其名称如下:

  • Reading_Valid_Employee_Data_Correctly_Generates_Employee_Object
  • Reading_Missing_Employee_Data_Throws_Invalid_Employee_ID_Exception

等等.

我最近一直在阅读BDD中使用的不同类型的命名约定.我喜欢这个命名的可读性,最终得到一个类似的测试列表:

  • When_Reading_Valid_Employee(夹具)
    • Employee_Object_Is_Generated(方法)
    • Employee_Has_Correct_ID(方法)
  • When_Reading_Missing_Employee(夹具)
    • An_Invalid_Employee_ID_Exception_Is_Thrown(方法)

等等.

有没有人使用这两种命名方式?您能否提供任何建议,好处,缺点,陷阱等,以帮助我决定是否为我的下一个项目切换?

tdd bdd unit-testing naming-conventions

11
推荐指数
2
解决办法
2105
查看次数

Python日志记录在2.5和2.6之间不兼容

你能帮我解决Python 2.5和2.6之间的以下不兼容问题吗?

logger.conf:

[loggers]
keys=root,aLogger,bLogger

[handlers]
keys=consoleHandler

[formatters]
keys=

[logger_root]
level=NOTSET
handlers=consoleHandler

[logger_aLogger]
level=DEBUG
handlers=consoleHandler
propagate=0
qualname=a

[logger_bLogger]
level=INFO
handlers=consoleHandler
propagate=0
qualname=b

[handler_consoleHandler]
class=StreamHandler
args=(sys.stderr,)
Run Code Online (Sandbox Code Playgroud)

module_one.py:

import logging
import logging.config

logging.config.fileConfig('logger.conf')
a_log = logging.getLogger('a.submod')
b_log = logging.getLogger('b.submod')

def function_one():
    b_log.info("function_one() called.")
Run Code Online (Sandbox Code Playgroud)

module_two.py:

import logging
import logging.config

logging.config.fileConfig('logger.conf')
a_log = logging.getLogger('a.submod')
b_log = logging.getLogger('b.submod')

def function_two():
    a_log.info("function_two() called.")
Run Code Online (Sandbox Code Playgroud)

logger.py:

from module_one import function_one
from module_two import function_two

function_one()
function_two()
Run Code Online (Sandbox Code Playgroud)

在Ubuntu 9.04下调用logger.py的输出:

$ python2.5 logger.py
$

$ python2.6 logger.py
function_one() called.
function_two() …
Run Code Online (Sandbox Code Playgroud)

python logging incompatibility

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

将小数转换为英文字符串

我编写了一个.NET类,它将十进制(货币值)转换为英文可读字符串.

113.25 =>一百一十三和二十五美分.

这是检查的金额线.代码已部署并正常工作,但我想知道是否有比写一堆if,switch,integer division和modulus语句更好的方法.我希望有一个更优雅的解决方案而不是我的168行代码.

.net

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

何时使对象自行删除?

Callback* p = new Callback;
function(p);
Run Code Online (Sandbox Code Playgroud)

如果我想删除回调对象,何时以及如何删除?

如果它被提前删除,那么回调可能会因分段错误而失败.

c++ oop memory-management

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

在NSIS中使快捷方式最小化

在Windows中,可以编辑快捷方式的属性,并选择是否应该正常启动目标程序的窗口,最小化或最大化.

我正在NSIS中创建一个安装程序,并且有一些批处理文件我想创建快捷方式并让它们开始最小化.是否有人要包含哪些参数CreateShortcut来完成此任务?

installer nsis

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

Windows客户端应用程序的登录对话框

是否有Win32功能,我可以调用以显示Windows登录对话框?

例如,Internet Explorer和Visual Studio的团队资源管理器在访问网站时都显示凭据对话框 - 如何显示该对话框?

我有一个.NET Windows客户端应用程序,它在与Web服务通信时使用登录的Windows用户身份.这些服务使用该用户ID来确定谁正在调用该服务并确定他们有权查看的内容.

我想添加一个命令,允许当前用户有效地"运行",他们可以输入另一个用户的用户名/密码,我们让应用程序充当他们.

我可以构建一个自定义对话框并使用LoginUser()函数,但我宁愿使用"官方"的东西.

.net c# windows winapi

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

在C#中执行fire and forget方法的最简单方法是什么?

我在WCF中看到他们有[OperationContract(IsOneWay = true)]属性.但是WCF似乎有点缓慢而且很重要,只是为了创建一个非阻塞功能.理想情况下会出现类似静态无效的阻塞MethodFoo(){},但我认为不存在.

在C#中创建非阻塞方法调用的最快方法是什么?

例如

class Foo
{
    static void Main()
    {
        FireAway(); //No callback, just go away
        Console.WriteLine("Happens immediately");
    }

    static void FireAway()
    {
        System.Threading.Thread.Sleep(5000);
        Console.WriteLine("5 seconds later");
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:阅读此内容的每个人都应该考虑他们是否真的想要完成这个方法.(参见#2最佳答案)如果方法必须完成,那么在某些地方,比如ASP.NET应用程序,你需要做一些事情来阻止并保持线程活着.否则,这可能会导致"忘记但永远不会实际执行",在这种情况下,当然,根本不编写任何代码会更简单.(很好地描述了它在ASP.NET中的工作原理)

.net c# nonblocking

134
推荐指数
9
解决办法
8万
查看次数

在x86 linux上使用软件浮点

是否(很容易)可以在i386 linux上使用软件浮点而不会在每次调用时产生陷入内核的费用?我试过-msoft-float,但看起来普通(ubuntu)C库没有包含FP库:

$ gcc -m32 -msoft-float -lm -o test test.c
/tmp/cc8RXn8F.o: In function `main':
test.c:(.text+0x39): undefined reference to `__muldf3'
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)

linux floating-point x86

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

处理负时间跨度

在我的网格输出中,我计算a TimeSpan并采用它TotalHours.例如

(Eval("WorkedHours") - Eval("BadgedHours")).TotalHours
Run Code Online (Sandbox Code Playgroud)

目标是显示TotalHoursas 39:44,所以我需要将值转换7.507:30.这没问题......除非它是否定的!

我可以创建一个TimeSpan从对象Hours

TimeSpan.FromHours( (Eval("WorkedHours") - Eval("BadgedHours")).TotalHours)
Run Code Online (Sandbox Code Playgroud)

如果它是否定的,我无法将其转换DateTime为使用该.ToString("HH:mm")方法,并且该TimeSpan对象不支持格式字符串.

.net c# datetime timespan

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