相关疑难解决方法(0)

什么是Ruby Gotchas新手应该被警告?

我最近学习了Ruby编程语言,总而言之,它是一门很好的语言.但我很惊讶地发现它并不像我预期的那么简单.更准确地说,"最不惊讶的规则"对我来说似乎并不受到尊重(当然这是非常主观的).例如:

x = true and false
puts x  # displays true!
Run Code Online (Sandbox Code Playgroud)

和着名的:

puts "zero is true!" if 0  # zero is true!
Run Code Online (Sandbox Code Playgroud)

你会警告一个Ruby新手的其他"问题"是什么?

ruby

106
推荐指数
16
解决办法
1万
查看次数

猴子修补.SOLID原则?

在一些个人项目中,我正在慢慢地从PHP5转向Python,我现在很喜欢这种体验.在选择沿着Python路线前,我看了Ruby.我从红宝石社区注意到的是,猴子修补既常见又备受推崇.我也遇到了很多关于调试ruby s/w的试验的恐怖故事,因为有人包括一个相对无害的库来完成一些工作但是修补了一些使用频繁的核心对象而没有告诉任何人.

我选择Python(除了其他原因)之外它的语法更清晰,而且它可以完成Ruby所能做的一切.Python正在使得OO点击比PHP更好,我正在越来越多地阅读OO原则以增强这种更好的理解.

今晚我一直在阅读Robert Martin的SOLID原则:

  • 小号英格尔责任的原则,
  • O pen/closed原理,
  • L iskov替代原则,
  • 接口隔离原则,和
  • d ependency倒置原则

我目前正在接受O:软件实体(课程,模块,功能等)应该开放扩展,但是为了修改而关闭.

我的头脑是在确保OO设计的一致性和整个猴子修补之间的冲突.我知道可以在Python中进行猴子修补.我也明白,"pythonic"是遵循常见的,经过良好测试的oop最佳实践和原则.

我想知道的是社区对两个对立主题的看法; 他们如何互操作,当它最好地使用一个在另一个上时,是否应该完成猴子修补......希望你能为我提供解决问题的方法.

ruby monkeypatching solid-principles

25
推荐指数
2
解决办法
3957
查看次数

标签 统计

ruby ×2

monkeypatching ×1

solid-principles ×1