当前位置:  开发笔记 > 程序员 > 正文

一个人应该知道运营商优先吗?

如何解决《一个人应该知道运营商优先吗?》经验,为你挑选了3个好方法。

程序员应该彻底了解运算符优先级吗?使用大括号来分组表达式应该没问题,不是吗?我总是使用牙套来保护更安全的一面.当被问及关于优先权的问题时,我不能轻易回答.



1> Jon Skeet..:

对于非常常见的运营商 - 是的,值得了解它.如果你把括号放在那些原本依赖于运算符优先级的东西上,你的代码将是不可读的(或者很容易与Lisp混淆).

对于更加模糊的操作员 - 我明确避免学习它们.如果我开始把太多事情视为理所当然,我无法合理地期望其他开发人员知道,我将开始编写我可以轻松阅读的代码,但没有其他人可以.最好的例子是转移运营商.我甚至不知道(当然 - 我有一个问题),如果没有括号,这些将被视为相同,但我绝对相信哪个更清楚:

int x = (y << shift) + offset;

要么

int x = y << (shift + offset);



2> Jon B..:

是的,理解运算符优先级很重要.但是,我认为使用括号清楚地表明你的意图是有价值的.它有助于提高可读性和可维护性.



3> Darron..:

几年前我看到了C的这个优先级表:

乘法和除法在加法和减法之前发生.

使用括号.

这略微过于简化,但它有正确的想法.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有