小编djd*_*d87的帖子

403
推荐指数
8
解决办法
123万
查看次数

反向循环真的更快吗?

我听过很多次了.向后计数时JavaScript循环真的更快吗?如果是这样,为什么?我已经看到一些测试套件示例显示反向循环更快,但我找不到任何解释为什么!

我假设它是因为循环不再需要在每次检查它是否完成时评估属性并且它只是检查最终的数值.

for (var i = count - 1; i >= 0; i--)
{
  // count is only evaluated once and then the comparison is always on 0.
}
Run Code Online (Sandbox Code Playgroud)

javascript optimization loops for-loop while-loop

259
推荐指数
19
解决办法
11万
查看次数

单元测试能否成功添加到现有生产项目中?如果是这样,它是如何值得的?

我正在考虑将单元测试添加到正在生产的现有项目中.它是在18个月之前开始的,之前我真的看到了TDD (面掌)的任何好处,所以现在它是一个包含大量项目的相当大的解决方案,我没有最模糊的想法从哪里开始添加单元测试.是什么让我觉得这是偶尔一个旧的bug似乎重新出现,或者一个错误被检查为固定而没有真正修复.单元测试可以减少或防止出现这些问题.

通过阅读有关SO的类似问题,我看到了一些建议,例如从错误跟踪器开始,并为每个错误编写测试用例以防止回归.但是,我担心我最终会错过大局并最终错过了如果我从开始使用TDD就会包含的基本测试.

是否有任何应遵循的流程/步骤,以确保现有解决方案经过适当的单元测试而不仅仅是提交?如何确保测试质量良好,并且不仅仅是测试的情况比没有测试更好.

所以我想我也要问的是;

  • 对于现有的生产解决方案,是否值得努力?
  • 是否最好忽略对该项目的测试并将其添加到未来可能的重写中?
  • 什么会更有益; 花几周时间添加测试或几周添加功能?

(显然,第三点的答案完全取决于您是否与管理层或开发人员交谈)


赏金的理由

增加赏金以尝试吸引更广泛的答案,这不仅证实了我现有的怀疑,这是一件好事,而且还有一些很好的理由.

我的目标是稍后用优点和缺点写出这个问题,试图向管理层表明,值得花费时间将产品的未来发展转移到TDD上.我希望在没有自己偏见的观点的情况下接近这一挑战并发展我的推理.

testing tdd unit-testing

132
推荐指数
8
解决办法
2万
查看次数

如何从表格单元格(td)中获取相应的表格标题?

鉴于下表,我如何获得每个td元素的相应表头?

<table>
    <thead> 
        <tr>
            <th id="name">Name</th>
            <th id="address">Address</th>
        </tr>
    </thead> 
    <tbody>
        <tr>
            <td>Bob</td>
            <td>1 High Street</td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

鉴于我目前已经有任何td可用的元素,我怎么能找到相应的th元素?

var $td = IveGotThisCovered();
var $th = GetTableHeader($td);
Run Code Online (Sandbox Code Playgroud)

jquery jquery-selectors

83
推荐指数
4
解决办法
9万
查看次数

C# - 检测上次用户与OS交互的时间

我正在编写一个小托盘应用程序,需要检测用户上次与其计算机进行交互以确定它们是否处于空闲状态.

有没有办法检索用户上次移动鼠标,按键或以任何方式与他们的机器进行交互的时间?

我认为Windows显然跟踪这个以确定何时显示屏幕保护程序或断电等,所以我假设有一个Windows API用于自己检索这个?

c# windows winapi system-tray idle-processing

63
推荐指数
2
解决办法
3万
查看次数

为什么C#结构是不可变的?

我只是想知道为什么结构,字符串等是不可变的?是什么原因使它们成为不可变的,其余的对象是可变的.有什么东西被认为是使对象不可变的?

对可变和不可变对象分配和释放内存的方式有什么不同吗?

.net c# immutability

57
推荐指数
4
解决办法
2万
查看次数

在强制执行T类型的同时将通用类型"强制转换为T"

我想在这里错过了一个技巧,我不敢相信我以前从未这样做过.但是,如何使用as关键字转换泛型类型?

[Serializable]
public abstract class SessionManager<T> where T : ISessionManager
{

    protected SessionManager() { }

    public static T GetInstance(HttpSessionState session)
    {

        // Ensure there is a session Id
        if (UniqueId == null)
        {
            UniqueId = Guid.NewGuid().ToString();
        }

        // Get the object from session
        T manager = session[UniqueId] as T;
        if (manager == null)
        {
            manager = Activator.CreateInstance<T>();
            session[UniqueId] = manager;
        }

        return manager;

    }

    protected static string UniqueId = null;

}
Run Code Online (Sandbox Code Playgroud)

该行T manager = session[UniqueId] as T;引发以下错误:

类型参数"T"不能与"as"运算符一起使用,因为它没有类类型约束,也没有"类"约束 …

c# asp.net generics

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

如何正确使用Unity将ConnectionString传递给我的存储库类?

我刚刚开始使用微软的Unity应用程序块依赖注入库,而且我已经失败了.

这是我的IoC类,它将处理我的具体类到它们的接口类型的实例化(所以每次我在控制器中需要一个存储库时,我不必在IoC容器上保持名为Resolve):

public class IoC
{
    public static void Intialise(UnityConfigurationSection section, string connectionString)
    {
        _connectionString = connectionString;
        _container = new UnityContainer();
        section.Configure(_container);
    }

    private static IUnityContainer _container;
    private static string _connectionString;

    public static IMovementRepository MovementRepository
    {
        get { return _container.Resolve<IMovementRepository>(); }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,我的想法是,从我的控制器,我可以做到以下几点:

_repository = IoC.MovementRepository;
Run Code Online (Sandbox Code Playgroud)

我目前收到错误:

异常是:InvalidOperationException - 无法构造String类型.您必须配置容器以提供此值.

现在,我假设这是因为我的映射具体实现需要为其构造函数提供单个字符串参数.具体课程如下:

public sealed class MovementRepository : Repository, IMovementRepository
{
    public MovementRepository(string connectionString) : base(connectionString) { }
}
Run Code Online (Sandbox Code Playgroud)

其中继承自:

public abstract class Repository
{
    public Repository(string connectionString)
    {
        _connectionString = …
Run Code Online (Sandbox Code Playgroud)

c# dependency-injection inversion-of-control unity-container repository-pattern

18
推荐指数
2
解决办法
3万
查看次数

离开公司时记录代码

我昨天辞去了我目前的工作地点,而且我正在自己记录我的项目,所以我可以轻松地将它们交给我.

请记住,我的代码已被评论为一个良好的标准,我还应该把其他什么组合起来帮助我的开发人员接管我的项目?

documentation

16
推荐指数
2
解决办法
614
查看次数

获取复选框的ID? - jQuery

嘿,我想知道如何检查复选框的ID.

这是我的HTML最初看起来可能是这样的:

<div class="check_filter">

    <div id="filter">
        <input type="checkbox" id="check1" /><label for="check1">Marketing</label>
        <input type="checkbox" id="check2" /><label for="check2">Automotive</label>
        <input type="checkbox" id="check3" /><label for="check3">Sports</label>
    </div>

</div><!-- End check_filter -->
Run Code Online (Sandbox Code Playgroud)

我假设jQuery看起来像这样:

$(document).ready(function() {    
    $(":checkbox").click(function(){
        var id = $(this).attr('id');

        $.post("index.php", { id: id });
       //return false to ensure the page doesn't refresh
       return false;
    });    
});
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取已检查的项目ID,然后在mysql查询中发布该ID以从数据库中获取id的结果.

感谢您的帮助.

checkbox jquery

16
推荐指数
2
解决办法
7万
查看次数