程序媛比码大赛,不秀美颜照,秀代码图

本文涉及的产品
云效 DevOps 流水线,基础版人数 不受限
云效 DevOps 代码管理,基础版人数 不受限
云效 DevOps 制品仓库,基础版人数 不受限
简介: 女人是上帝的艺术品,那么会写代码的女人是什么?
美国研究者分析了开源代码库Github 140万用户的数据。他们发现和男性相比,女性发送的“拉请求”(代码更新提议)更容易被接受。由数据上看,女性提交代码的通过率为78.6%,而男性的通过率仅为74.6%。

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

视障工程师蔡勇斌和女朋友为83行代码Ť恤带盐照

虐完狗,我们继续说说这群女工程师的第83行代码及代码背后的故事:

有被代码耽误的钉钉吃货程序媛,写代码写到忘记吃饭的采霜,她急需能把她从代码中叫醒去吃饭的小伙伴,赶紧勾搭;

有以代码为乐的饿了么大前端打(BEI)杂(国)工程师张蓓楚

还有全栈美女工程师 - 前端后端一锅端的朱默女神

还有阿里云像男人一样活好码赞的技术妹子清宵妹子

有天猫的Java的程序媛女神采月


想看程序媛的代码,点我穿越来看程序员比码大赛


附送一段阿里云清宵妹子的golang代码,看完“药神”之后的彩蛋感悟,求程序猿们诗意解读

package main

import (
    "fmt"
    "math/rand"
    "sync"
    "time"
)

var (
    r = rand.New(rand.NewSource(time.Now().Unix()))

    disasterSignal = make(chan string)
    accidentSignal = make(chan string)
    diseaseSignal  = make(chan string)
)

// Element : abstract factor which life consisted by
type Element interface {
    Improve()
    Depress()
    Stable()
    Enable() bool
    BeAbleHandle(event string) bool
}

type Activity interface {
    IsSuitable(life *Life) bool
    Do(life *Life)
    Interrupted()
}

type Life struct {
    Sex string
    Age time.Duration

    Health       Element
    Knowledge    Element
    Ability      Element
    RelationShip Element
    Wealth       Element
    OtherElement Element

    Work        Activity
    Study       Activity
    Exercise    Activity
    Entertain   Activity
    Rest        Activity
    OtherActive Activity

    isDoings []Activity

    vitalitySignal chan struct{}
    NaturalDeath   chan struct{}
}

func (f *Life) Join(oppositeSex *Life, love, family Element) (*Life, error) {
    if !love.Enable() || !family.Enable() || f.Sex == oppositeSex.Sex {
        return nil, fmt.Errorf("Sorry, no boby should be borned!")
    }

    boby := &Life{
        Sex:            []string{"male", "female"}[r.Intn(2)],
        Age:            0,
        isDoings:       []Activity{},
        NaturalDeath:   make(chan struct{}),
        vitalitySignal: make(chan struct{}),
    }

    return boby, nil
}

func (f *Life) Run() {
    go ExternalEndanger(f)
    // time elapses day by day
    for {
        startTime := time.Now().UTC()
        wg := &sync.WaitGroup{}

        for _, active := range []Activity{f.Study, f.Work, f.Entertain, f.Exercise, f.Rest, f.OtherActive} {
            if f.SuitableFor(active) {
                wg.Add(1)
                go func(activity Activity) {
                    defer wg.Wait()
                    activity.Do(f)
                }(active)
            }
        }

        select {
        case <-f.NaturalDeath:
            f.Close()
            fmt.Println("Life is short, make it colourful and cherish the love around all!")
            return
        case <-f.vitalitySignal:
            fmt.Println("记得买保险!")
            return
        case <-time.After(24*time.Hour - time.Now().UTC().Sub(startTime)):
            fmt.Println("One day went by...")
        }
        //wg.Wait()
        f.Age += 24 * time.Hour
    }

    fmt.Println("Goodbye, life!")
}

func (f *Life) Somehow() {
    // happened something to effect one to reach some life stage
}

func (f *Life) SuitableFor(active Activity) bool {
    return active.IsSuitable(f)
}

func (f *Life) Survive(event string) bool {
    for _, e := range []Element{f.Health, f.Knowledge, f.Ability, f.RelationShip, f.Wealth, f.OtherElement} {
        if !e.BeAbleHandle(event) {
            return false
        }
    }

    return true
}

func (f *Life) Close() {
    for _, doing := range f.isDoings {
        doing.Interrupted()
    }

    close(f.vitalitySignal)
}

var female = LifeFromSomeWhere("female")
var male = LifeFromSomeWhere("male")

func ExternalEndanger(f *Life) {
    for {
        event := ""
        select {
        case event = <-diseaseSignal:
        case event = <-disasterSignal:
        case event = <-accidentSignal:
        }

        if !f.Survive(event) {
            f.Close()
            return
        }
    }
}

func LifeFromSomeWhere(sex string) *Life {
    life := &Life{Sex: sex}
    life.Somehow()

    return life
}

func main() {
    // I don't know the question of "鸡生蛋 or 蛋生鸡"...
    newLife, err := female.Join(male, ElementImp{Type: "love"}, ElementImp{Type: "family"})
    if err != nil {
        newLife.Run()
    }
}

 

相关文章
|
7月前
|
资源调度 前端开发 JavaScript
前端宝藏图:寻找技术之旅的星辰大海
前端宝藏图:寻找技术之旅的星辰大海
53 4
|
机器学习/深度学习 传感器 安全
2023 年高教社杯全国大学生数学建模B 题 多波束测线问题思路及参考代码
2023 年高教社杯全国大学生数学建模B 题 多波束测线问题思路及参考代码
|
前端开发
世界杯火热进行中, 用一个div画个足球场助助兴
世界杯火热进行中, 用一个div画个足球场助助兴
89 0
|
JavaScript
新年到,好运多,快来抽取你的新年幸运签吧!
今天的主题就是新年幸运签,快来抽取你的新年幸运签吧,下面我们来看看是怎么实现一个简易版的抽签小功能。
231 0
新年到,好运多,快来抽取你的新年幸运签吧!
|
人工智能 编解码 监控
匠心故事 | 华为造“星”记:我的世界里没有黑暗
匠心故事 | 华为造“星”记:我的世界里没有黑暗
321 0
匠心故事 | 华为造“星”记:我的世界里没有黑暗
|
算法 大数据
阿里的攻城狮和程序媛用算法给骗子“画个像”
最近,阿里巴巴安全部算法团队裕宏与钱盾团队梅黛共同产出的恶意电话识别论文“DeMalC: A Feature-rich Machine Learning Framework for Malicious Call Detection” 被信息检索、知识管理和数据库领域中的顶级ACM会议CIKM 2017收录。
5697 0
|
算法 API UED
当阿里技术小哥遇见设计师妹纸,会碰撞出什么火花?
在阿里巴巴,除了来自集团的UED(用户体验设计)团队外,还有一支700余人的外包设计团队,一起创造着阿里视觉神话。阿里的UED外包同学们每年会收到50多个业务方提出的十余万外包需求。如何协调外包设计师与需求方之间的配合,并且合理结算价格,成为阿里UED外包管理的一大难点。
2370 0