在中国程序媛中,他们的代码有什么样的魅力,Aone联合云栖社区、饿了么、钉钉、阿里云、天猫、口碑发起首届程序媛比码活动——不秀大长腿,秀高智商;不秀美图照,秀代码图,参与晒码互动游戏赢“83行代码”T恤!
我们来说说这群女工程师的第83行代码及代码背后的故事:


/** * 计算单个display_status * * @param status 展示状态列表 * @return 单个计算结果 */ public static int getEngineDisplayStatus(Map<DisplayStatusEnum, Integer> status) { int resNum = 0; for (Map.Entry<DisplayStatusEnum, Integer> entry : status.entrySet()) { resNum = resNum + (int)(Math.pow(10, entry.getKey().getIndex()) * entry.getValue()); } return resNum; }
AI 代码解读
/** * 递归计算所有的display_status * * @param statusList 展示状态列表 * @param boolList 状态开关列表 * @param resList display_status列表 * @param index 起始位置 * @param calStatus 中间结果 */ private static void calDisplayStatus(DisplayStatusEnum[] statusList, List<Boolean> boolList, List<Integer> resList, int index, Map<DisplayStatusEnum, Integer> calStatus) { if (index == statusList.length) { resList.add(getEngineDisplayStatus(calStatus)); return; } DisplayStatusEnum displayStatusEnum = statusList[index]; if (boolList.get(index)) { calStatus.put(displayStatusEnum, displayStatusEnum.getDisplayValue()); calDisplayStatus(statusList, boolList, resList, index + 1, calStatus); if (displayStatusEnum != DisplayStatusEnum.MallDisplay) { calStatus.put(displayStatusEnum, displayStatusEnum.getDefaultValue()); calDisplayStatus(statusList, boolList, resList, index + 1, calStatus); calStatus.put(displayStatusEnum, displayStatusEnum.getDisplayValue()); } } else { calStatus.put(displayStatusEnum, displayStatusEnum.getDefaultValue()); calDisplayStatus(statusList, boolList, resList, index + 1, calStatus); } }
AI 代码解读
/** * 计算指定环境下需要查询的所有店铺display_status值 * * @param status 展示状态列表 * @return display_status最终计算结果 */ public static String getDisplayStatusQuery(List<DisplayStatusEnum> status) { List<Integer> r = new ArrayList<Integer>(); List<Boolean> boolList = new ArrayList<Boolean>(); DisplayStatusEnum[] enumList = DisplayStatusEnum.class.getEnumConstants(); for (DisplayStatusEnum e : enumList) { if (status.contains(e)) { boolList.add(true); } else { boolList.add(false); } } Map<DisplayStatusEnum, Integer> calcuStatus = new HashMap<DisplayStatusEnum, Integer>(); calDisplayStatus(enumList, boolList, r, 0, calcuStatus); return StringUtils.join(r, " OR "); }`
AI 代码解读
与妍霏小姐姐互动,为她打call——>点击进去妍霏晒码
更多小姐姐,点击进入查看代码
有被代码耽误的钉钉吃货程序媛,写代码写到忘记吃饭的——采霜
她急需能把她从代码中叫醒去吃饭的小伙伴,赶紧勾搭;
http://yq.aliyun.com/roundtable/126499/answer/170319#visit170319
有以代码为乐的饿了么大前端打(bei)杂(guo)工程师——敖天羽
http://yq.aliyun.com/roundtable/126499/answer/170299#visit170299
还有全栈美女工程师——前端后端一锅端的——墨瑜女神
http://yq.aliyun.com/roundtable/126499/answer/170316#visit170316
还有阿里云活好码赞,像男人一样活着的技术专家小姐姐——清宵http://yq.aliyun.com/roundtable/126499/answer/170296#visit170296
和天猫Java程序媛,happy(被)来(逼)的——采月
http://yq.aliyun.com/roundtable/126499/answer/170354#visit170354
阿里口碑 搜索推荐组的JAVA女工程师——妍霏
http://yq.aliyun.com/roundtable/126499/answer/214059#visit214059
阿里口碑基础平台技术部的工程师-衔远,一个技术与马甲线并存的mm
http://yq.aliyun.com/roundtable/126499/answer/248798#visit248798
云栖社区聚能聊专家,具有知性温婉气质的——海洋的云http://yq.aliyun.com/roundtable/126499/answer/170290#visit170290
福州市五佰网络科技有限公司的Java女工程师——江小白太白
http://yq.aliyun.com/roundtable/126499/answer/189332#visit189332
在下*的程序媛——cn_suqingnian
http://yq.aliyun.com/roundtable/126499/answer/170309#visit170309
交通银行的前端女工程师——昆0830
http://yq.aliyun.com/roundtable/126499/answer/201979#visit201979