Odd*_*ing 5 php code-generation metaprogramming
通常,程序员编写生成其他代码的代码.
(技术术语是元编程,但它比仅仅交叉编译器更常见;考虑生成HTML或每个XSLT文件的每个PHP网页.)
一个领域,我觉得挑战性的未来与技术,以确保这两个手写的源文件,以及计算机生成的对象文件明确缩进来帮助调试.这两个目标似乎经常相互竞争.
我发现这在PHP/HTML组合中特别具有挑战性.我认为这是因为:
你用什么技术来解决这个问题?
我当然有时会生成代码而不考虑缩进(尤其是SQL).
但是,有一些论点推动了另一种方式:
例如,考虑代码:
<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中包含的空格,它也有不同的渲染.
在更一般的情况下,我编写了生成 C++ 数据库接口代码的 XSLT 代码。尽管一开始我尝试从 XSLT 输出正确缩进的代码,但这很快就变得站不住脚了。我的解决方案是完全忽略 XSLT 输出中的格式,然后通过GNU indent运行生成的很长的代码行。这生成了一个格式合理、适合调试的 C++ 源文件。
我可以想象,在处理 HTML 和 PHP 等组合源代码时,问题会变得更加棘手。
| 归档时间: |
|
| 查看次数: |
1063 次 |
| 最近记录: |