问题列表 - 第13440页

测试驱动设计如何帮助单人软件项目?

我花了很多时间为我的最新项目构建测试,而且我真的不确定投资回报率是多少.

我是一个人操作,我正在构建Web应用程序.我不一定要"证明"我的软件工程,任何人(除了我的用户),我很担心,我花了很多时间一个很好的协议不必要rebugging测试代码在过去几个月.

我的问题是,虽然我喜欢TDD适用于小型到大型软件团队的想法,但它如何帮助一个人团队快速构建高质量的代码?

谢谢

=>今天遇到这个问题,来自于stackoverflow的创始人之一joel spolsky的博客:

http://www.joelonsoftware.com/items/2009/09/23.html

"Zawinski没有进行过多次单元测试.他们"原则上听起来很棒.鉴于悠闲的发展速度,这肯定是要走的路.但是当你看到时,'我们必须从零到完成六个星期,"好吧,除非我把东西剪掉,否则我不能这样做.而我要删除的东西是不是绝对关键的东西.单元测试并不重要.如果没有单元测试,客户就不会不会抱怨这个.""

随着我年龄的增长,我想我越来越意识到这一切都与速度和功能有关.我很乐意建立单元测试.但由于我们只有很多时间可以使用,我宁愿更快地构建它,依靠beta测试和良好的自动错误报告来解决任何问题.如果这个项目最终变得足够大,以至于这会让我陷入困境,它将产生足够的收入,我可以为重建辩护.

tdd unit-testing web-applications

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

如何在DTrace操作中打印CFStringRef?

我有一个DTrace探针捕获函数的调用,函数的一个参数是a CFStringRef.这是一个私有结构,它包含一个指向unicode字符串的指针.但CFStringRef它本身并不是一个char*普通的DTrace方法,就像copyinstr()返回一样?cp?,这并不是很有用.

那么如何在DTrace动作中打印出字符串呢?

dtrace cfstring

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

SwitchToThread/Thread.Yield vs. Thread.Sleep(0)vs. Thead.Sleep(1)

我正在尝试编写最终的"Yield"方法,以将当前时间片提供给其他线程.到目前为止,我发现有几种不同的方法可以使线程产生分配的时间片.我只是想确保我正确地解释它们,因为文档不是很清楚.因此,从我在stackoverflow,MSDN和各种博客文章中看到的内容,存在以下选项,它们都有不同的优点/缺点:

SwitchToThread[win32]/Thread.Yield[.NET 4 Beta 1]:产生同一处理器上的任何线程

  • 优势:大约快两倍 Thread.Sleep(0)
  • 缺点:仅产生同一处理器上的线程

Thread.Sleep(0):在任何处理器上产生任何具有相同或更高优先级的线程

  • 优点:比快 Thread.Sleep(1)
  • 缺点:仅产生相同或更高优先级的线程

Thread.Sleep(1):屈服于任何处理器上的任何线程

  • 优点:产生任何处理器上的任何线程
  • 缺点:最慢选项(Thread.Sleep(1)如果 不使用timeBeginPeriod/ timeEndPeriod[win32],通常会将线程暂停约15ms )

怎么样Thread.SpinWait?可以用它来产生线程的时间片吗?如果没有,它用于什么?

我还有其他一些我错过或错误解释的东西.如果你能纠正/增加我的理解,我将不胜感激.

这就是我的Yield方法到目前为止的样子:

public static class Thread
{
    [DllImport("kernel32.dll")]
    static extern bool SwitchToThread();

    [DllImport("winmm.dll")]
    internal static extern uint timeBeginPeriod(uint period);

    [DllImport("winmm.dll")]
    internal static extern uint timeEndPeriod(uint period);

    /// <summary>  yields time slice of current thread to specified target threads </summary>
    public static void YieldTo(ThreadYieldTarget threadYieldTarget)
    {
        switch (threadYieldTarget) { …
Run Code Online (Sandbox Code Playgroud)

.net concurrency multithreading

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

C中的频率直方图

有人能给我一个关于直方图的伪代码会是什么样子的暗示吗?

c

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

C#基础制作属性原子

它由Microsoft作为框架设计指南给出,属性应该彼此独立,而不是依赖于按任何特定顺序设置.

假设您有一个需要支持dimmensions和面积计算的三角形类.你会如何模仿这个?

这当然是被认为是gauche的设计,因为Area依赖于Base和Height首先设置:

class Triangle{
    public double Base {get;set;}
    public double Height {get;set;}
    public double Area {
        get{
            return (Base * Height) / 2;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

假设您使用构造函数,您可以确保此情况的默认值,但这是正确的方法吗?

class Triangle{
    public Triangle(double b, double h){
        Base = b;
        Height = h;
    }

    public double Base {get;set;}
    public double Height {get;set;}
    public double Area {
        get{
            return (Base * Height) / 2;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

您仍然拥有一个依赖于其他属性的属性.为了成为一个纯粹主义者,我只能看到几种方法(我想它们可以合并):

  1. Make Base/Height具有只能在构造函数中设置的只读成员

  2. 将面积计算成方法.

  3. 使用某种工厂模式+ readonly成员来确保尽管可能存在依赖关系,但只能通过实例化Triangle类的方法来设置值.

问题:

  1. 指南是否切实可行(为了支持它,您是否必须在您的类中建立很多复杂性)?[例如,SqlConnection类允许您初始化连接字符串属性,但允许您更改它的各个部分,例如命令超时]

  2. 您如何管理保持您的财产彼此独立?

  3. 对于使用Silverlight/MVVM类型体系结构的人来说,由于数据绑定对象的工作方式,您是否接受属性中的依赖项?例如,绑定一个三角形实例,在屏幕上显示高度,基数和面积.

c# design-patterns

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

Python与matplotlib - 重用绘图功能

我对这个问题有一个跟进问题.

通过使用多个python脚本可以在图的不同部分工作,是否可以简化图形生成?

例如,如果我有以下功能:

FunctionA:绘制一个直方图
FunctionB:在其中绘制一个带有文本的框
FunctionC:绘制一个C
的图形函数:绘制一个D的图形

如何在不同的脚本中重用上述功能?例如,如果我想创建一个带有C图形的直方图的图形,我会以某种方式从我的脚本中调用FunctionA和FunctionC.或者,如果我想要一个带有两个图的图形,我会调用FunctionC和FunctionD.

我不确定我是否在清楚地解释自己,但另一种问这个问题的方法是:如何将一个图形对象传递给一个函数,然后让函数在传递的图形对象上绘制一些东西,然后将其返回到主脚本添加其他东西,如标题或东西?

python matplotlib

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

Ruby on Rails - 登录

所以我不重新发明轮子,为Ruby on Rails设置注册,登录,注销和密码重置框架的最佳方法是什么?理想情况下,必须有一个处理这个问题的gem(库,包等)?

提前致谢!

authentication ruby-on-rails

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

如何在R中写入CSV,矩阵名称(dimnames(M))在R中完好无损?

R中是否有一个命令允许您编写一个CSV文件,其中包含矩阵的行名和列名(dimnames(M))?每当我输出文件时,名称都消失了.

help(write)
Run Code Online (Sandbox Code Playgroud)

没有提到这是可能的.

file-io r matrix

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

如何通过WinXP批处理脚本可靠地验证目录的存在?

你好,我正在编写一个可以在Windows XP机器上运行的批处理脚本.此脚本需要能够可靠地验证作为命令行参数传递的目录确实存在.

假设我的脚本名为script.bat,它需要支持以下作为合法的命令行参数:

C:\> script.bat C:
C:\> script.bat C:\
C:\> script.bat ..\photos
C:\> script.bat C:\WINDOWS
C:\> script.bat "C:\Documents and Settings"
C:\> script.bat "C:\Documents and Settings\"
C:\> script.bat F:\music\data\
C:\> ...
Run Code Online (Sandbox Code Playgroud)

基本上,给一个带有或不带尾随反斜杠的驱动器号以及完整的,绝对的或相对的路径名,带或不带尾随反斜杠(在某些目录名中有或没有空格)是合法的. )).如果它包含空格以便被解释为一个参数,那么显然必须引用该名称.但是,如果没有其他要求,则应允许引用名称:

C:\> script.bat "F:\music\data\"
Run Code Online (Sandbox Code Playgroud)

我的第一次尝试看起来像这样:

@ECHO OFF
SETLOCAL EnableExtensions EnableDelayedExpansion
IF ErrorLevel 1 GOTO :NoExtensions
IF "%~1"=="" GOTO :NoDirectory

SET dir=%~1\NUL
ECHO You provided:  %1
ECHO Testing using: %dir%
IF NOT EXIST %dir% GOTO :BadDirectory
SET dir=%~f1\
ECHO The following is …
Run Code Online (Sandbox Code Playgroud)

windows scripting batch-file

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

大多数用于动态代码生成的可移植库

我正在寻找最便携的汇编程序库,如asmjitjitasm.

当我说'最便携'时,我的意思是,它对大量架构的支持最多.语言并不重要,但C++将是最好的解决方案,尤其是与GCC结合使用时.

对我来说重要的架构是x86/64,PowerPC和ARM.

c++ assembly code-generation cpu-architecture machine-code

13
推荐指数
3
解决办法
6557
查看次数