相关疑难解决方法(0)

多年来有没有办法避免意大利面条代码?

我有几个编程工作.每个人有20-50名开发人员,项目持续3 - 5年.

每次都是一样的.有些程序员很聪明,有些程序员很平均.每个人都有自己的CS学位,每个人都阅读设计模式.意图是好的,人们正在努力编写好的代码,但几年后代码变成了意大利面条.模块A中的更改突然中断了模块B.除了编写模块的人之外,总有这些代码部分无人能理解.改变基础设施是不可能的,向后兼容性问题阻碍了良好的功能进入.有一半时间你只想从头开始重写所有内容.

比我更有经验的人将此视为正常.是吗?它必须是吗?我该怎么做才能避免这种情况,或者我应该接受它作为生活中的事实?

编辑:伙计们,我对这里的回复数量和质量印象深刻.这个网站及其社区摇滚!

maintenance coding-style

45
推荐指数
6
解决办法
9973
查看次数

什么是意大利面条代码?

你能发一个真实的,过度的意大利面条代码的简短例子,可能会说它的作用是什么?你能告诉我一个小调试器的噩梦吗?

我不是指IOCCC代码,那是科幻小说.我的意思是发生在你身上的现实生活例子......

更新

重点已从"发布一些意大利面条代码"到"什么是改变究竟面条代码?".从历史的角度来看,目前的选择似乎是:

  • 旧的Fortran代码大量使用compute gotos
  • 使用ALTER语句的旧Cobol代码

terminology anti-patterns

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

htmlspecialchars的问题

我从以下PHP代码生成链接.链接出现在浏览器中,生成的html代码似乎很好,但链接不可点击.我已经在IE和FF中对此进行了测试,并尝试使用FireBug进行测试无济于事.

生成我的表单的代码

$uploadhtml = htmlspecialchars(json_encode("<form action='up.php' method='post'
enctype='multipart/form-data'>
<label for='file'>Filename:</label>
<input type='file' name='file' id='file'/> 
<br />
<input type='hidden' name='pk' value='".$pk."'>
<input type='hidden' name='username' value='".$USERNAME."'>
<input type='submit' name='submit' value='Submit' onclick=\"setTimeout(function() { 
updateByPk('Layer2', '".$pk."', '".$brand."', '".$pg."'); } ),1250);\" />
</form>"), ENT_QUOTES);
Run Code Online (Sandbox Code Playgroud)

生成的html代码:

    <a onclick="makewindows(&#39;&quot;<form action=&#39;up.php&#39; method=&#39;
post&#39;\r\nenctype=&#39;multipart\/form-data&#39;>\r\n<label for=&#39;
`file&#39;>Filename:<\/label>\r\n<input type=&#39;file&#39; name=&#39;file&#39; id=&#39;`file&#39;\/> \r\n<br \/>\r\n<input type=&#39;hidden&#39; name=&#39;pk&#39; value=&#39;
380118179930&#39;>\r\n<input type=&#39;hidden&#39; name=&#39;username&#39; value=&#39;
janmaybach&#39;>\r\n<input type=&#39;submit&#39; name=&#39;submit&#39; value=&#39;
Submit&#39; onclick=\&quot;setTimeout(function() { updateByPk(&#39;Layer2&#39;, 
&#39;380118179930&#39;, &#39;Ed Hardy&#39;, &#39;1&#39;); } ),1250);\&quot; 
\/>\r\n<\/form>&quot;&#39;); return false;" href="#">Upload files</a>
Run Code Online (Sandbox Code Playgroud)

我想这是一个JavaScript错误,但我不知道如何查明它?

编辑:没有ENT_QUOTES的html代码: …

javascript php

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