我有一个实体代表一些数量的预订。此外,还存在此属性为负数的实体,表明预订缺乏可用性。然后,逻辑将减少具有正数量属性值的预留数量。因此我有这样的说法:
long quantityToDecrease = -reservation.getQuantity();
如何使一元减号脱颖而出,以便我的代码的读者能够意识到它?
答案 0 :(得分:1)
我选择了内联注释和空行:
$scope.addText = function (x, y, text, textcolor, id) {
var segmentText = document.createElementNS('http://www.w3.org/2000/svg', 'text');
segmentText.setAttribute('x', x);
segmentText.setAttribute('y', y);
segmentText.textContent = text;
segmentText.setAttribute('fill', textcolor);
segmentText.setAttribute('font-weight', 'bold');
segmentText.setAttribute('id', id);
svg.appendChild(segmentText);
};
$scope.addLine = function (id, x1, y1, x2, y2, color) {
var newLine = document.createElementNS('http://www.w3.org/2000/svg', 'line');
newLine.setAttribute('id', id);
newLine.setAttribute('x1', x1);
newLine.setAttribute('y1', y1);
newLine.setAttribute('x2', x2);
newLine.setAttribute('y2', y2);
newLine.setAttribute('style', color);
svg.appendChild(newLine);
};
$scope.addRect = function (x, y, rx, ry, width, height, rectcolors, id, attr) {
$scope.hidechild = false;
var rectangle = document.createElementNS('http://www.w3.org/2000/svg', 'rect');
rectangle.setAttribute('x', x);
rectangle.setAttribute('y', y);
rectangle.setAttribute('rx', rx);
rectangle.setAttribute('ry', ry);
rectangle.setAttribute('id', id);
rectangle.setAttribute('class', 'hiderect');
rectangle.setAttribute('width', width);
rectangle.setAttribute('height', height);
rectangle.setAttribute('style', rectcolors);
}
但我也确实发现@Kayaman建议的解决方案很吸引人,因为它使代码读取更像是描述了业务逻辑。
答案 1 :(得分:-1)
为了让它真正脱颖而出,你可以制作一个单独的方法,也许是在一个单独的课程中:
long quantityToDecrease = negate(reservation.getQuantity());
它可能看起来像是过度杀戮,但我认为这样你会得到最好的读者关注。
此外,如果您在很多地方使用它,也许您可以编写自己的NumberUtil
类或该方向的东西,您可以在其中定义您的否定方法。使其类似于:
long quantityToDecrease = NumberUtil.negate(reservation.getQuantity());