15
|
Drew Stephens · 技术社区 · 15 年前 |
![]() |
1
24
虽然我喜欢减少锅炉板代码的想法,但我对诸如modern::perl和common::sense之类的工具有着深深的怀疑。 我对类似这样的模块的问题是,它们捆绑了一组行为,隐藏了含义可变的behid glib名称。
例如,
我的首选是一个模块,它使我可以轻松地创建自己的一组标准模块,甚至可以为特定任务(如日期时间操作、数据库交互、HTML解析等)创建相关模块/pragma组。 我喜欢 Toolkit 但它之所以糟糕,有几个原因:它使用了源过滤器,而且宏系统过于复杂和脆弱。我非常尊重Damian Conway,他编写了出色的代码,但有时他做得太过分了(至少在生产使用中,实验是好的)。
我没有浪费足够的时间打字
或
工具箱非常接近我的理想。它致命的缺陷是一个令人不安的。
至于语用的选择是否合理,这是一个品味问题。我宁愿偶尔使用
更新 似乎有很多(多少?)这种类型的不同模块在CPAN周围浮动。
这些模块的扩散和重叠需求的可能性增加了另一个问题。 如果您编写的代码如下:
用什么选项启用了什么pragma? |
![]() |
2
15
我会说坚持
|
![]() |
3
15
有一点似乎没人注意到,那就是
截至2,
这是一个有点重要而且经常被忽视的警告特征,它将严格程度提高了一个整体。它实际上停止了,而不是取消定义字符串插值,或者无限递归只是警告您,然后继续执行,尽管有问题。 对我来说,这是有帮助的,因为在许多情况下,UNdef字符串插值会导致更危险的错误,这些错误可能会悄悄地被忽略,失败和回收是一件好事。 |
![]() |
4
8
我显然没有常识,因为我更愿意
|
![]() |
5
7
只有当您使用 不 加载严格、功能、警告等的模块,“多”部分是……不多。 |
![]() |
6
6
并不是每个人的常识都是一样的——在这方面,它只是普通的。
随遇而安。如果你得到
警告是有原因的。任何减少它们的方法都是无用的。(我总是用
|
![]() |
7
5
我从来没有收到过一个警告,在我的代码中没有什么不可靠/只是明显的错误。对我来说,技术上总是允许我不想做的事情。我认为全套警告是无价的。如果你发现
|
![]() |
8
3
当涉及到警告时,我支持使用任何模块或内置语言功能,这些功能为您提供警告级别,帮助您使代码尽可能地可靠和可靠。忽略的警告对任何人都没有帮助。 但是如果你对标准的警告感到舒适,那就坚持下去。如果你习惯了,用更严格的标准编码是很好的!我不建议仅仅为了节省内存而切换。只有在模块帮助您更快、更自信地转换代码时才进行转换。 |
![]() |
9
1
许多人在评论中争论 如果MP更改,它将破坏您的代码 . 虽然这可能是一个真正的威胁,但这里已经有很多事情是随着时间的推移而改变的,并且破坏了代码(有时是在一个折旧周期之后,有时不是…)。
其他一些模块改变了API,所以破坏了一些东西,没有人关心它们。例如。
另一个例子,几年前被允许写
现在,它被弃用了。还有很多其他的…这是一个核心语言语法。 所有人都活了下来。所以,不要真的理解为什么很多人会争论Againist帮助模块。当他们要改变的时候,(可能)这里会有一种 折旧周期 ……所以,我的观点是:
|
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
BioRod · 我不能用Perl打印键和值 2 年前 |
![]() |
user17227456 · Perl CLI代码无法追加字符串行 2 年前 |
![]() |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 3 年前 |
![]() |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 3 年前 |
![]() |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 3 年前 |
![]() |
Pranay Nanda · 使用regex解析许可证文件 7 年前 |