程序员老鬼

我是外企外包,男朋友以为我是正编,跟他坦白了会被分手吗?

刚看到个贴子,有网友说自己在外企外包岗位,男朋友一直以为她是正编,她很纠结要不要坦白,怕坦白了就被分手。

Image

评论区还有个前985阿里程序员说,自己被裁员后前任马上态度变冷了。

Image

程序员圈子其实很现实。你是外包、是正编,大多数时候别人根本不关心你的努力,只看“价值”标签。职场也是这样,老板和同事很多时候认的就是你的“产出”和“title”,就像刷代码性能,跑分摆在那里,别人不会关心你调试多辛苦。

网友说被裁后态度变化,其实反映的就是“社交的本质是交换”——能提供什么资源、机会、面子。

不过话说回来,坦白身份没什么可丢人的,真在意你的人,不会只盯着你是不是正编。换个角度想,外包也好正编也罢,生活总归还得自己去debug,别太在意外界怎么judge你。【备注:文末可领最新资料】

算法题:计算产品最终价格

我前几天晚上十一点多,就是在我们小区门口等外卖的工夫,小李给我发微信问我,说他要写个“计算产品最终价格”的方法,用 Java,结果有点绕晕了。

其实这个东西吧,生活里还挺常见。你看,咱买东西,原价嘛,然后有满减、有折扣券、还可能要加上运费、税啥的,最后那一串加加减减,脑子糊涂点就出错。我说你别慌,我来给你扯两句,别上头。咱就以最简单的超市买东西为例。

算法的事,还是得结合场景

你说有时候,有促销——比如原价199的那个运动裤,给你打个八折,或者满100减20。然后又叠加个什么5元优惠券。还有的时候电商搞活动,折上折,这算法要是写死了,第二天老板说活动改方案了,你就得全改。我印象里前年双十一我就在办公室改过到凌晨三点,头都大。

思路简单点,就三步:先把原价拿出来,挨个应用各种优惠,最后加减杂七杂八的费用。最麻烦的地方,就是优惠一堆,顺序、叠加规则还经常改。所以要写得灵活点。代码大概长这样:

publicdoublecalculateFinalPrice(double basePrice, List<Discount> discounts, double shippingFee, double taxRate){
double price = basePrice;

// 先应用所有折扣
for (Discount discount : discounts) {
        price = discount.apply(price);
    }

// 加运费
    price += shippingFee;

// 算税(比如税是按折扣后加运费的价格)
    price = price * (1 + taxRate);

// 保证价格不会是负的,现实里也有最低支付金额的说法
return Math.max(price, 0);
}

上次我有点困,少写了个小数点保留,这里要记得最后保留两位小数比较保险,不然前端会找你麻烦。

你再说点实际的,别太空

有一次啊,我们组的老王买iPhone,叠加各种券,最后那数字都快看不懂。他那天还专门问我:到底先满减还是先打折?我说一般先满减,再打折,最后用券。但电商平台各有套路,有的平台券先用。这事你要是写死了,明天就被怼。

所以最好把每种优惠做成独立的类,有个接口 apply(double price)。比如:

publicinterfaceDiscount{
doubleapply(double price);
}

publicclassPercentageDiscountimplementsDiscount{
privatedouble percent;
publicPercentageDiscount(double percent){ this.percent = percent; }
publicdoubleapply(double price){ return price * (1 - percent); }
}

publicclassFixedAmountDiscountimplementsDiscount{
privatedouble amount;
publicFixedAmountDiscount(double amount){ this.amount = amount; }
publicdoubleapply(double price){ return Math.max(price - amount, 0); }
}

有啥新优惠,直接加新类就行,逻辑不冲突,晚上脑子糊涂也能写出来。

别忘了校验和异常

之前有兄弟用double算,结果被坑了,一堆小数点后很多位,前端一看直接不认账。还有那种价格负数的情况,必须要兜一下底线。不然用户买东西还倒给他钱,那是真得离谱。

-END-

我为大家打造了一份RPA教程,完全免费:https://www.songshuhezi.com/rpa.html

最后给大家分享一份不错的副业资料,点击下方公众号,回复关键字: 副业 领取,也可以链接我领取,微信:hls404