★引子
今天写程序的时候,又用到这个 idiom 了,于是顺便贴出来。这个 idiom 蛮简单的,估计很多人都用过。今天主要是贴出来给新手参考(老手们就甭费时看此帖了)。
为了说明这个手法具体该咋用,咱举一个简单的例子来说事儿。比方说要开发一个网络程序,其中需要统计各种网络协议的数据包数量。
★版本1
假设一开始只需要处理 HTTP 和 FTP 两种协议。有些同学不假思索,立即会声明如下两个整数用于统计:
int nCntHttp = 0; int nCntFtp = 0;
猛一看,似乎没啥问题。但是,如果需求发生变更,又要增加两种协议:SMTP 和 SSH。然后,该同学会继续扩展上述代码,变为如下:
int nCntHttp = 0; int nCntFtp = 0; int nCntSmtp = 0; int nCntSsh = 0;
这时候,问题开始显露出来了。比方说要打印上述4统计值,就得写4个 printf 语句;再假如要用断言确保所有统计值大于零,也得写4个 assert 断言。这都是挺烦人的事儿。(当然啦,有些同学会把4个变量的打印写在一个 printf 中,但还是一样烦人)
★版本2
这可咋办捏?有点小聪明的程序猿就灵机一动,把上述代码修改为数组形式,上述的4个统计值【依次】放入数组中。具体如下:
int nCntProto[4]; /* 第0个是HTTP,第1个是FTP,第2个是SMTP,第3个是SSH */
这样一来,无论是打印还是断言,用一个 for 循环就搞定,貌似挺方便滴。
但这么一来,引入了另一个问题:假设我在程序中要用到 SMTP 的统计数字,就得这么写代码:
nCntProto[2]
这就造成了很不雅观的“Magic Number”!要知道,Magic Number 可是代码的臭味之一啊(其弊端在“这篇博文”中曾经介绍过)。万一将来,数组中的存放顺序发生变化,那就完蛋了:好多用到 Magic Number 的代码都得跟着改。一旦漏改某处,引出 Bug 无数!
★版本3
为了消除 Magic Number,增加代码可读性和可维护性,有些同学开始打起 enum 的主意。在代码中增加了一组 enum,具体如下:
enum PROTO { PROTO_HTTP, PROTO_FTP, PROTO_SMTP, PROTO_SSH, }; int nCntProto[4];
这样,如果我需要用到 SMTP 的统计数字,我就不用写
nCntProto[2]
nCntProto[PROTO_SMTP]
★版本4
但是,还是有一个不爽的地方。定义数组的语句用到了“4”这个 Magic Number。万一将来需求继续变更,继续增加协议,那这个数字还得不断调整。还是有点不爽!
咋办捏?这时候,终极版本隆重登场。请看如下代码:
enum PROTO { PROTO_HTTP, PROTO_FTP, PROTO_SMTP, PROTO_SSH, PROTO_NUM /* 表示协议数量 */ }; int nCntProto[PROTO_NUM];
这种写法的好处在于,【没有任何一个】Magic Number 出现在代码中。不管是引用某个统计值还是循环遍历数组,都使用的是定义好的常量。
就算未来发生需求变更,要增加新的协议,只要往 enum 中增加相应的 enum 常量即可(但要记得保证 PROTO_NUM 位于 enum 定义的末尾)。由于 PROTO_NUM 会自动跟着增长,所以其它的代码几乎不会受到影响。
★C++ 的补充说明
上述代码同时适用于 C 和 C++。不过捏,某些 C++ 程序员或许看不惯原始数组,觉得 STL 的容器类看起来比较顺眼。那也没啥大关系:只要把上述代码中声明数组的那句修改为如下,其它的代码基本照旧。
std::vector<int> vctCntProto(PROTO_NUM);
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2009/04/c-cxx-enum-idiom.html
有人打算整理一下关于编程随想下落的线索吗?(从正反两个方面来举证)
好多怪事都是人为的,第一在搞邪术如祭鬼封神献祭打call,其次是搞种姓的事,
这帮东西用老外的名义来操控挑拨玩弄这个那个,这也是奇葩的,和叫东土人找阿三还是鬼子去表达册封封禅这皇帝是东土的皇帝一样奇葩, ......
ym蜀人都不愿放手的东西如屁眼套路,幼女,献祭,老单和最高神位是有原因的,很值得去研究的 ......
即使博主能活着出狱,若要看到他更新六四系列,那也是在天朝发生了民主化之后,共产党不再有能力镇压批评者之时。
就算哪天中国情报部门不经司法程序,直接把人暗杀了,我也不会觉得奇怪。
https://www.zaobao.com.sg/realtime/china/story20241226-5649612
https://www.youtube.com/watch?v=ozVq_04XMro
如果出现了自杀场景,多半是政府秘密下令处决,并伪装成了自杀。
来自Firsthack的评论
而且,二审的发改率(发回重审+改判)是一个考核政绩的指标,高层认为这个数字越低说明冤假错案越少,然后下面就越容易升官。 ......
原神UID:310221197410210025
互动热线: 13524626271 上海移动
学历: 硕士
生日: 19741021
身高: 165 ......
周欣身份证310105197106042383
户籍地址 :上海市闵行区吴中路429弄15号501室
同户人 :薛军,男,310106196903180414,1969年03月18日; ......
希望各大媒体都报道这几个名字:审判长周欣,审判员:凌莉、须梅华。
家属贝震颖推特号:Birds_b_r_32309
多谢分享“中药注射剂”等国产医疗行业的相关丑闻。
另外,关于疫情期间的乱象,俺整理了一篇:
《每周转载:白纸抗议年的“动态清零”灾难(网文14篇,多图)》
多年前不记得在哪篇博文的评论区和博主讨论叙利亚的命运,当时叙利亚的局势还未尘埃落定。可惜博主现在大牢内,看不到。
这次叙利亚的民主转型发生在俄国陷入战争的泥沼的背景下。 ......
这个是个邪术,第一个是给上面看(不知什么鬼),其次的就真的会指导目标去实际地去做这么些的犯罪邪恶,侵犯幼女的情节是经常频繁重复地出现地,和侵犯女性,还有就是生命 ......
估计到最高法院也没戏,可能会以9:0判决禁抖音。
欢迎提出不同观点。
你提到的是这二者之间的差异,俺也同意这些差异确实存在。
但是,俺要开始说但是了。从本文,咱们也可以讨论这二者之间的共性,至少包含以下方面: ......
玩邪术玩出个什么结果好歹给公开一下,拼命玩邪术还一声不吭,很危险的,要分享分享,劳资帮你们来研究研究
劳资相信这帮东西是能穿越时空的,现在是2019年的ZS,时空被改变穿越了。穿越时空的套路。这帮东西几千年都一个屌样,来几个十级地震都不会任何改变。 ......
现在的两党是争先比谁对华更强硬,已经通过的制裁法案不会松绑,已经加的关税也不会再降,否则就会被在野党骂成“通敌叛国”。
明年1月19日之前,抖音会被禁。
每天上网的好多人都在聊政治呢,难道你要把每一个聊政治的人都抓起来判刑?那也没用。因为年轻人越来越倾向于认为政治制度才是造成他们被困在他那个阶层的重要原因。 ......
这个博客对于政府的批评,大部分都是有理有据。你要是觉得哪里不对,可以反驳博主嘛。判7年是究竟有多心虚? ......
以色列做任何事,都是美国包容范围,和美国民意无关(甚至抗议都无效)。台湾今后也会差不多。
国会一旦提出新的关于台湾的法案,无论是军售,亦或是改善台湾的国际地位等等,都很容易造成近乎【全票通过】。 ......
然而,公报本身只是行政政府的声明,其效力不如法律。 ......
然而,现在的人们,对于不能证明是否为间谍的走线客,也不太宽容。估计人们会支持一律用“有间谍嫌疑”之类的理由,实行一律驱逐的政策。 ......
但是,有些两党已经形成共识的事,其实是不受太大影响的。例如:把台湾武装成以色列。
所以我估计,中共在川普第2任期的前2年之内,就会对台湾动手。
因为这次GOP在众院优势实在太小了,稍微发生一点差错,钟摆效应会让民主党夺回之。
参议院不好说。如果连参议院也丢了,那川普后两年就可能成为跛脚总统,啥事都干不了。
不服者会选择:明着顺从,其实背地里跟共产党对着干。
众议院估计是个险胜。
上次共和党在众议院也是微弱优势,导致议长难产。
这次应该不会难产,因为有川普在,他只要在台上喊几句,就可以让任何一个人当议长,其它共和党议员不会阻挠。 ......
根据NBC新闻:
https://www.nbcnews.com/politics/immigration/trump-may-deport-hundreds-thousands-migrants-biden-allowed-legally-ent-rcna179357 ......
就是先用民调测量其它选举,比如某个地方议员的选举,然后和民调进行对比,看女性候选人是否严重吃亏,是否和民调严重不符。
如果发生该现象,那得出的差额数字,就是该地隐藏的“害羞的性别歧视者”的百分比。 ......
因为“害羞的川粉”等受访者不诚实回答问题的现象,仍然使得民调失真。
贺锦丽连普选票都输了。
你民主党输得这么惨,总不能反思为啥没去迎合那些“黑命贵零元购”之类的种族主义口号吧?反思搞种族平权搞得过头了?
......
美国出了个川贼东。抗战前没做到【攘外必先安内】,这下麻烦大了。
恭喜美国又创造了世界纪录。
估计是川普险胜。
因为大法官的任命是由总统和参议院共同决定,如果总统是川普,那他就会提名非常有争议的保守派大法官。
......
......
川普险胜29%
其它情况基本可以排除。
我的意见是把第13问算成川普+1,他不是国家英雄,但很多人粉川。
然后把第12问算成贺锦丽+1,因为川黑人数太多了,这些人的票会投给贺锦丽。
◇以【川普】为中心展开
◇极化现象
这个没变
......
有一天,我们或许能用类似的思路,找到这些人的把柄,从而有利于清算工作。
只不过在现在,我这种平民可能不够使用AI干这些事的资格。
围观的人多的时候,可以顺便大声质疑警察的做法有无法律依据,给警察造成压力。
即便不说话,而只是去围观,也能造成一点压力。而且围观的风险很低。 ......
我判断他们这些操作主要是为了吓唬人,比如登记这个操作,是为了方便以后搞大清洗时候用的(但概率很小,只有像文革、战争那种特殊时期才会用到)。不过只要敢反抗的人足够多,他们的策略就不会起到太多效果。 ......
对于本案中,已经违反了现有法律的人,比如越权的检察官颜蔚、枉法的董玮、须梅华等人,如果中共已经对其违法行为做出一次处罚,那肯定还不够。到清算的时候,还要【再算一次】,以迫害罪重新起诉之。 ......
防范清算的唯一办法,就是做事的时候要对得起自己的良心;不然的话,光靠威胁那些想要清算你们的人是没用滴。你们抓不完的。
上次一经施压,线索就出来了(当然,威慑的价值是表示反对意见)
至少“RXH屏幕截图”这条线索来得蹊跷
总之,阮晓寰这人是一定要救的。
无论什么办法。哪怕是需要付出1条人命代价的办法都可以提出,因为有人愿意付出这个代价(但前提是这个办法必须靠谱,必须要有效救得了人才行)。
(然而,我认为这个说法是令人难以相信的。)
如果不去尝试改判这条路,就没办法向贝震颖等人证明中国政府的邪恶(远超她的想象)。
另外,我猜测她对反共的人可能还是蛮反感的,比方说,我猜她会认为是反共的人把她丈夫阮晓寰害惨了。 ......
......
找三四到局子里等劳资,怎么不找三四直接来找劳资,又不会发生什么,要找什么来兜这个底 ......
否则,大人物会很高兴,因为他们只需要把责任推给小人物就行了。然后,这个案子就会被某些小人物重判。
反正是零责任嘛,他们不会抵制上级的不合理命令。相反,我们恰好需要小人物【消极抗命】。 ......
陈吉宁是否对一审有责任,这个不好说。毕竟时间太短了。
不过,二审判决的责任很好推定。如果陈吉宁手下的法官维持原判,那我们将来就要抓陈吉宁问罪,无论他将来逃到哪个国家。 ......
一审宣判日2023年2月10日,陈吉宁于2022年10月28日上任。
这期间有大约4个月的时间,陈吉宁作为一把手,有4个月的时间可以影响一审判决。 ......
至于继任的陈吉宁,看二审表现。
办事的小人物也有出庭作证的义务,证明他们背后的老大是幕后黑手,以便减轻自己的罪责。 ......
刚才查到一个,上海政法委书记诸葛宇杰,这个也应该加入该清算的名单。
诸葛宇杰应当是其中一个有能力影响判决的人,如果本案遭到重判,那此人将也应该成为重点追究责任的对象。官职越高,越值得追究。 ......
https://x.com/Suyutong/status/1654760377165438977
@Suyutong ......
新二审法官无需为须梅华法官被撤换之前所羁押的这段时间负责;至于多出来的刑期嘛,超出多少,负责多少。
所以,我建议新二审法官把这个案子改判到3年半以下。 ......
根据法案,总统有权把期限再延长90天。也就是延期到2025年4月
阮晓寰案被多次延期,最近一次是延期至今年12月底审结。 ......
那么,如果能促成一两个有代表性的人物获释(比如编程随想博客博主阮晓寰),那样的话也有改善形象的作用,最终会对抖音将来的法庭判决有好处。 ......
如果按“无罪推定”原则,要求别人先去证明算法推荐有鬼,才肯处罚抖音,就太晚了(比方说,有一天台海战争爆发,年轻人从抖音上看到的到处都是有利于中共、不利于台湾的信息。那美国就会吃亏,援台阻力增加)。 ......
消息源:https://fox59.com/indiana-news/sen-mike-braun-said-interracial-marriage-ruling-should-be-left-to-states/ ......
这些都是在清算之日不能忘记的名字。
引用博主的 原话 :
......
根據我在上海看守所被關押的經歷,陳品霖的待遇很大概率是真的。
我在兩次共計65天的關押期間,沒有任何一次放風的經歷,而可見的放風場(我沒用過)僅是另一個頭頂有小天窗的封閉房間。僅管我是被單獨關押,我也從隔壁監室聽到過關押人數太多、不得不側身睡覺或者睡在地板上的說法 ......
夏巢川 Rei Xia @karasu_ga_warau
⚪️‼️《烏魯木齊中路》被捕導演 #陳品霖 的律師袁茂在9月26日發微博稱,陳品霖在看守所中遭到不人道對待,包括擁擠的睡覺條件,以及一個月才放一次風。在他們前往住所檢察官處反應情況時,檢察官也不見蹤影。 ......
对于阮晓寰案,上海法院要是再不放人,将进一步影响大批年轻人对于中国政治制度的看法。你判他刑,等于向年轻人自证是独裁制度,是专门靠镇压知识分子吃饭的。 ......
这个法律通过后,共产党的成年直系亲属将无法入境,也不能进行某些资产交易。
我建议被制裁对象的家属,赶紧促成释放阮晓寰博主等良心犯。这是你们自救的一个办法。在乌克兰战争期间,俄国寡头就是用类似的办法换取自己免于制裁的。 ......
推文出处 @Birds_b_r_32309
#编程随想 #阮晓寰
这一个多月,张冬硕律师来上海阅卷、会见了阮晓寰多次。基于一审的种种问题,阮晓寰本人、张律师和莫律师都分别于9月初上书高院,要求二审 依法 公开 开庭审理! ......
贝女士现在不锁推了,希望大家都去关注声援
总之,【环境差】就容易引发【癌症】。
这就是为啥我们希望阮晓寰二审获得【轻判】、减刑;降低得癌症的概率。
虽然民主党对非法移民确实更加友善,不过从长远看,我建议走线客对民主党也要留个心眼,同时重视共和党里面支持非法移民的少数派。
......
你可以谷歌搜索“阮晓寰”,这就是博主的真名。不过,本案恰巧还没有审理结束,他妻子@Birds_b_r_32309 在推特X上发声,要求大家多声援它,向当局施压,以便争取二审减刑。 ......
因为最近海地人有恐慌情绪,所以新闻转述了这个海地人所说的6年前车窗玻璃被砸那件事。
1938年,合法定居在德国的犹太人社区的玻璃也被砸碎,史称“水晶之夜”。
想必不久之后,华川粉会要求戴徽章,以便证明自己是合法移民,或者所谓的“良民”;至于那些不肯用这个徽章证明自己是良民的黄皮肤的人,自然就是非法移民了。 ......
关于斯普林菲尔德(Springfield)海地人吃猫的这个谣言,简单聊聊吧。
事情是这样的,起因是一个叫Erika Lee的大妈在脸书上贴了一篇文章,说我邻居丢了自己的宠物猫,怀疑是海地难民偷的。这个帖子被加上了“海地非法移民偷猫偷狗吃,大家赶紧看好宠物”的标题一传,一下子就爆了。 ......
以为非法移民不能投票就好惹是吧?
等到民主党大赦非法移民,2000万非法移民入籍美国获得投票权,你MAGA党就别想再选了。 ......
川普和MAGA大肆散布俄亥俄州Springfield海地人偷当地人宠物吃的谣言,煽动选民对移民的恐惧,反倒是让人关注到这个小城其实是移民帮助建设美国的典范。当地制造业外移造成了经济退化,在海地大地震后大量美国接纳的合法海地移民在此工作,小城重燃经济希望。 ......
美国的非法移民(比如走线客)可以抓住这个机会,帮海地合法移民发声、谴责川普。
记住:帮别人就是帮自己。
因为贺锦丽一旦对同情巴勒斯坦的这一方做出任何承诺,就会失掉另一方的选票(以色列这一方的金主就会放弃民主党,转而去帮川普),最终结果就是川普上台。 ......
当然了,拜登几乎没人粉他,大家当初都是因为讨厌川普才投给他的。
在拜登退选后,大家又去支持贺锦丽,才使她的民调变高。