【程序媛晒83行代码】阿里口碑精致程序媛, 搜索推荐组的JAVA女工程师

简介: 妍霏小姐姐的第83行代码来自 生成特定搜索场景下所需要查询的门店状态值集合 的一段代码,欢迎大家指正。

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

我们来说说这群女工程师的第83行代码及代码背后的故事:

我是 阿里口碑 搜索推荐组的JAVA女工程师,花名妍霏。

不上相所以自拍比较少,好不容易才找到一张没崩的自拍照骗。
8ff3554a6ab4ffae8bf43cabf26756330486fd65
决定再发一张和我们口碑团队的另外一位超漂亮精致妹子的合照!口碑的精致女工程师可是非常的多哦~

我们团队还有大量的坑招人,包括不限于java/c++工程师,算法工程师等等,欢迎大家加入~ fayyen1213@koubei.com
c35b790d8edeb3020918c30415f7d0141eca1173
我的第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;
}


/**
 * 递归计算所有的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);
    }
}


/**
 * 计算指定环境下需要查询的所有店铺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 ");
}`

与妍霏小姐姐互动,为她打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

相关文章
|
2月前
|
架构师 前端开发 Java
Java开发工程师的职业规划应该是什么样的?
Java开发工程师的职业规划涵盖多个阶段,包括初入行业(0-1年)、技能提升(1-3年)、技术专家(3-5年)及管理或专家路线选择(5年以上)。各阶段设定了明确的技能要求与职业目标,从掌握Java基础、常用框架到深入研究高级技术、微服务架构乃至担任管理职务或成为技术专家。通过持续学习与实践,结合个人兴趣,Java工程师可在技术或管理领域找到合适的发展方向,最终实现职业成功。
402 83
|
2月前
|
Java
Java搜索与替换
Java搜索与替换
24 4
Java搜索与替换
|
2月前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
67 18
|
2月前
|
Arthas Java 测试技术
Java字节码文件、组成,jclasslib插件、阿里arthas工具,Java注解
Java字节码文件、组成、详解、分析;常用工具,jclasslib插件、阿里arthas工具;如何定位线上问题;Java注解
Java字节码文件、组成,jclasslib插件、阿里arthas工具,Java注解
|
2月前
|
人工智能 前端开发 Java
Java开发工程师转哪个行业比较好?
Java开发工程师转哪个行业比较好?
279 2
|
3月前
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
3月前
|
小程序 JavaScript Java
【资料】阿里Java开发手册
本文是关于分享阿里Java开发手册资源及促进编程规范学习的指南。作者以个人经历引入,讲述了公司领导通过细致讲解阿里Java开发手册,提升了团队对代码质量和编程规范的认识
793 0
【资料】阿里Java开发手册
|
2月前
|
小程序 前端开发 JavaScript
Java开发工程师转小程序开发的前景如何?
Java开发工程师转小程序开发的前景如何?
47 0
|
3月前
|
缓存 监控 Java
"Java垃圾回收太耗时?阿里HBase GC优化秘籍大公开,让你的应用性能飙升90%!"
【8月更文挑战第17天】阿里巴巴在HBase实践中成功将Java垃圾回收(GC)时间降低90%。通过选用G1垃圾回收器、精细调整JVM参数(如设置堆大小、目标停顿时间等)、优化代码减少内存分配(如使用对象池和缓存),并利用监控工具分析GC行为,有效缓解了高并发大数据场景下的性能瓶颈,极大提升了系统运行效率。
73 4
|
3月前
|
安全 Java 程序员
阿里开发手册 嵩山版-编程规约 (四)OOP规约-Java程序员必看知识点!!!
《阿里开发手册 嵩山版》的OOP规约部分强调了面向对象编程的最佳实践,包括正确使用静态方法、覆写方法的注解、可变参数的使用、接口的稳定性、equals和compareTo方法的使用、BigDecimal的正确比较、包装类与基本数据类型选择、POJO类的属性和方法设计等,以提升代码的质量和维护性。