问题列表 - 第1861页

缩进代码生成

通常,程序员编写生成其他代码的代码.

(技术术语是元编程,但它比仅仅交叉编译器更常见;考虑生成HTML或每个XSLT文件的每个PHP网页.)

一个领域,我觉得挑战性的未来与技术,以确保这两个手写的源文件,以及计算机生成的对象文件明确缩进来帮助调试.这两个目标似乎经常相互竞争.

我发现这在PHP/HTML组合中特别具有挑战性.我认为这是因为:

  • 源文件中有时会生成比生成PHP更多的HTML代码
  • HTML文件往往比SQL语句更长,需要更好的缩进
  • HTML具有空间敏感功能(例如标签之间)
  • 结果是比SQL语句更公开可见的HTML,因此要做更合理的工作会有更大的压力.

你用什么技术来解决这个问题?


编辑:我接受至少有三个参数不打扰生成漂亮的HTML代码:

  • 生成代码的复杂性增加了.
  • 浏览器渲染没有区别; 开发人员可以使用Firebug或类似功能来很好地查看它.
  • 轻微的性能损失 - 增加了空白字符的下载时间.

我当然有时会生成代码而不考虑缩进(尤其是SQL).

但是,有一些论点推动了另一种方式:

  • 我发现,在实践中,我频繁读取生成的代码-有额外的步骤来访问它是不方便的.
  • HTML有一些空间敏感问题,偶尔会有一些问题.

例如,考虑代码:

<div class="foo">
    <?php
        $fooHeader();
        $fooBody();
        $fooFooter();
    ?>
</div>
Run Code Online (Sandbox Code Playgroud)

它比以下代码更清晰:

<div class="foo"><?php
        $fooHeader();
        $fooBody();
        $fooFooter();
?></div>
Run Code Online (Sandbox Code Playgroud)

但是,由于HTML中包含的空格,它也有不同的渲染.

php code-generation metaprogramming

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

缺少msvcr80.dll

如果编译库中缺少C++运行时msvcr80.dll,是否有任何方法可以确定用于创建库的版本或使其在更高版本的msvcr80.dll上运行?

c++ windows dll dependencies

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

java内存管理

我是一名c ++程序员,在找到JPA之后我正在玩java,这对于我目前的一些应用来说是神派.我从大学开始就没有触及java,我遇到了堆空间不足的问题.我正在使用下面的代码作为jdbc/jpa/lucene不太严重的测试的主要部分,但我继续得到随机的OutOfMemory异常.

        EntityManager em = emf.createEntityManager();
        Query q = em.createQuery("select p from Product p" +
            " where p.productid = :productid");
        Connection con = DriverManager.getConnection("connection string");
        Statement st = con.createStatement();

        IndexWriter writer = new IndexWriter("c:\\temp\\lucene", new StandardAnalyzer(), IndexWriter.MaxFieldLength.LIMITED);

        ResultSet rs = st.executeQuery("select productid from product order by productid");
        while (rs.next()) {
            int productid = rs.getInt("PRODUCTID");
            q.setParameter("productid", productid);
            Product p = (Product)q.getSingleResult();

            writer.addDocument(createDocument(p));
        }

        writer.commit();
        writer.optimize();
        writer.close();

        st.close();
        con.close();
Run Code Online (Sandbox Code Playgroud)

我不会发布所有的createDocument,但它所做的只是实例化一个新的org.apache.lucene.document.Document,并通过add(new Field ...)等添加字段.总共有大约50个字段,大多数都是短的字符串(<32个字符)的长度.

在我的新事物中,有什么东西是完全愚蠢的我正在做(或不做)会导致事情不被GC?

是否有关于java内存管理和滴答GC的最佳实践?

java memory-leaks

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

确定数字数组中高低的最佳算法?

我在这里使用伪代码,但这是在JavaScript中.使用最有效的算法,我试图找到高和低给定一组正整数.这就是我想出来的,但我不认为这可能是最好的,只是想知道是否有人有任何其他建议.

var low = 1;
var high = 1;
for ( loop numbers ) {
    if ( number > high ) {
        high = number;
    }
    if ( low == 1 ) {
        low = high;
    }
    if ( number < low ) {
        low = number;
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript algorithm

11
推荐指数
4
解决办法
6436
查看次数

为什么我的HtmlHelper扩展不起作用?

我正在建立一个ASP.Net MVC网站.我决定将Web,模型和控制器分离到同一解决方案中的不同项目,而不是将所有内容都放在一个项目中.

引用如下:

Web --- [参考文献] --->控制器--- [参考文献] --->模型

现在我想为HtmlHelper类添加2个自定义方法 - 它们被称为"IncludeScript"和"IncludeStyle".它们各自采用单个字符串参数,并分别生成脚本或链接标记.

我根据网络上的文档创建了一个扩展类,并编写了两个方法并编译了应用程序.

现在,当我进入Public.Master页面(这是我的主要主页,以及我打算使用这些方法的地方之一)时,我可以输入如下代码:

<%= Html.IncludeScript("\js\jquery.js") %>

IntelliSense选择和IncludeScript方法,并向我显示语法.所以我希望一切都能奏效.

但事实并非如此.

一切都编译,但是一旦我运行应用程序,我从Default.aspx.cs的第14行得到以下运行时错误:

c:\\Projects\\PhoneReel\\PhoneReel.Web\\Views\\Shared\\Public.Master(11): error CS0117: 'System.Web.Mvc.HtmlHelper' does not contain a definition for 'IncludeScript'

以下是错误发生的代码行:

httpHandler.ProcessRequest(HttpContext.Current);

有什么想法可能会出错吗?

asp.net-mvc extension-methods html-helper

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

从.net(C#)中的Webbrowser控件中检索所选文本

我一直在试图弄清楚如何在我的webbrowser控件中检索用户选择的文本,并且在通过msdn和其他资源挖掘后没有运气,所以我想知道是否有办法实际执行此操作.也许我只是错过了什么.

我感谢任何关于此的帮助或资源.

谢谢

c# webbrowser-control winforms

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

将NameValueCollection绑定到GridView?

我应该使用什么样的集合将NameValue集合转换为可绑定到GridView?直接做它不起作用.

aspx.cs中的代码

  private void BindList(NameValueCollection nvpList)
  {
     resultGV.DataSource = list;
     resultGV.DataBind();
  }
Run Code Online (Sandbox Code Playgroud)

aspx中的代码

<asp:GridView ID="resultGV" runat="server" AutoGenerateColumns="False" Width="100%">
    <Columns>
         <asp:BoundField DataField="Key" HeaderText="Key" />
         <asp:BoundField DataField="Value" HeaderText="Value" />
    </Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

任何提示最受欢迎.谢谢.X.

c# asp.net data-binding namevaluecollection

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

您认为调试(系统故障排除)是程序员可以拥有的最重要的可测量技术与技术无关的技能之一吗?

程序员可以拥有许多技能(理解问题,提出好的问题,良好的设计技能等).

我认为系统调试技能非常有价值.调试任何技术系统的一般技能(从你的遥控器中的电池死机到来自你邻居的Ham Radio的信号干扰).

这是我教授计算机编程时给学生的方法:

  1. 定义问题(当我执行XYZ Repro步骤时,我得到ABC症状)
  2. 确定测试范围并分为几个部分.
  3. 使用消除过程测试每个部分以找到导致问题的部分.
  4. 如果需要,将部分分解为子部分.
  5. 分析导致问题的小节.
  6. 固定.
  7. 使用步骤重现症状的文本.

Whadaya认为?

language-agnostic debugging

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

如何在NTEXT SQL Server列上使用LEFT?

如何在SQL Server NTEXT列上使用LEFT函数(或等效函数)?

基本上我正在构建一个GridView,我只想返回描述列中的前100个字符,即NTEXT.

sql-server

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

如何从C#中的类访问表单方法和控件?

我正在研究一个C#程序,现在我有一个Form和几个类.我希望能够从我的课程中访问一些Form控件(例如a TextBox).当我尝试更改TextBox我的类中的文本时,我收到以下错误:

非静态字段,方法或属性'Project.Form1.txtLog'需要对象引用

如何访问Form1.cs其中一个类中的方法和控件?

c# winforms

25
推荐指数
3
解决办法
11万
查看次数