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

本文涉及的产品
云效 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()
    }
}

 

相关文章
|
6月前
|
资源调度 前端开发 JavaScript
前端宝藏图:寻找技术之旅的星辰大海
前端宝藏图:寻找技术之旅的星辰大海
45 4
|
2月前
|
物联网 开发者
可图Kolors-LoRA风格故事挑战赛决赛入围名单出炉!决赛赛题首公开,奉上夺奖秘籍!
8月初,魔搭社区联合阿里云天池平台,结合快手旗下开源文生图大模型可图Kolors 模型,推出文生图创作大赛,30支队伍脱颖而出,晋级复赛。
可图Kolors-LoRA风格故事挑战赛决赛入围名单出炉!决赛赛题首公开,奉上夺奖秘籍!
|
4月前
|
Python
京东技术团队撰写的整整986页《漫画学Python》到底有什么魅力?
这是一本Python入门书。无论您是想学习编程的小学生,还是想参加计算机竞赛的中学生,抑或是计算机相关专业的大学生,甚至是正在从事软件开发的职场人,本书都适合您阅读和学习。但您若想更深入地学习Python并进行深层次应用,则需要选择其他相关图书。
|
5月前
|
JSON 缓存 Java
一图读懂 苍穹外卖项目
一图读懂 苍穹外卖项目
231 4
使用 bookdown 构建新年日记本
使用 bookdown 构建新年日记本
115 0
|
JavaScript
新年到,好运多,快来抽取你的新年幸运签吧!
今天的主题就是新年幸运签,快来抽取你的新年幸运签吧,下面我们来看看是怎么实现一个简易版的抽签小功能。
205 0
新年到,好运多,快来抽取你的新年幸运签吧!
|
人工智能 分布式计算 算法
从长安十二时辰中学到的东西
19年的暑期里,长安十二时辰(下文简称长安)不愧是电视连续剧中的一匹黑马。紧凑的故事情节,扑朔迷离的人物关系,给观众再现盛唐一片气派的景象。这是1个令人引以自豪的时代,这是1个文人骚客辈出的朝代。 不同的人会在剧中找到不一样的东西,这里更多的是从科技以及技术的层面进行分析,而不是更多地从文化的角度。
从长安十二时辰中学到的东西
|
运维 Kubernetes 监控
怀里橘猫柴犬,掌上代码江湖——对话阿里云 MVP郭旭东
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 简介: 跟郭旭东聊过之后,我对程序员的敬佩又多一分。这个92年的开发者,难能可贵地兼备朝气蓬勃的技术能量与长远深刻的行业洞见。
1042 0
怀里橘猫柴犬,掌上代码江湖——对话阿里云 MVP郭旭东