一个创业团队把代码写成这样,你身边有这样的吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
int64ago
V2EX    职场话题

一个创业团队把代码写成这样,你身边有这样的吗?

  •  
  •   int64ago 2015-05-07 20:53:04 +08:00 8298 次点击
    这是一个创建于 3809 天前的主题,其中的信息可能已经有所发展或是发生改变。

    还是不上截图了……就语言描述下吧

    背景是这样的,一个创业团队中途走了一个技术人员,我就被临时工了……(因为觉得用的技术还是挺新的,于是才愿意尝试下的)

    然后进去后看了几天遗留的代码,大概总结就是:
    托管在 bitbucket 的,然后后台代码的 commits log 几乎清一色的 "fix bug"
    Android 的项目代码结构及命名就更让我抓狂了, myActivity.java/myActivity_1.java/myActivity_2.java/myActivity_old.java/...

    git 感情被用来当网盘备份使了……

    然后,因为大家都有各自的事,于是不在一起办公,讨论的话非要我加什么 qq/weixin 群,协作糟糕的很, 很多事情讨论不清,那么多协作交流工具不用……

    不知道这种情况,你们周边遇到的多不多,很纳闷……

    第 1 条附言    2015-05-07 22:35:14 +08:00
    看来是我大惊小怪了……
    81 条回复    2015-05-31 14:38:23 +08:00
    Septembers
        1
    Septembers  
       2015-05-07 20:55:23 +08:00 via Android
    建议尽早离开
    int64ago
        2
    int64ago  
    OP
       2015-05-07 20:56:03 +08:00
    @Septembers 我只是临时工,学生赚点生活费而已
    Septembers
        3
    Septembers  
       2015-05-07 20:57:51 +08:00 via Android
    Septembers
        4
    Septembers  
       2015-05-07 20:58:10 +0800 via Android
    @int64ago 不能要求使用邮件沟通吗?
    wy315700
        5
    wy315700  
       2015-05-07 20:58:26 +08:00
    估计那个技术人员就是这么走的。。。
    int64ago
        6
    int64ago  
    OP
       2015-05-07 20:58:58 +08:00
    @Septembers 我都是主动发邮件的,但是我不能要求别人啊,毕竟临时工……
    evlos
        7
    evlos  
       2015-05-07 20:59:12 +08:00
    工资 = 精神损失费,如果什么时候你得到的精神损失费无法补偿你的精神损失了,就离开吧。
    lifanxi
        8
    lifanxi  
       2015-05-07 20:59:53 +08:00   1
    > commits log 几乎清一色的 "fix bug"

    这种太常见了,我所在的某大厂,照样有“XX研发专家”是这样写commit log的,而且比"fix bug"还不像话,他统一都写“modified by xx”,xx是他的名字。
    coney
        9
    coney  
       2015-05-07 20:59:54 +08:00
    一般这样的就是自己都发现程序没法往下写了。。赶紧走人。坐等接盘侠接盘。。
    int64ago
        10
    int64ago  
    OP
       2015-05-07 21:00:31 +08:00
    @evlos 啊啊啊 我本来就不打算留啊,我纳闷的是,是不是很多创业的都这样干啊,这太恐怖了
    int64ago
        11
    int64ago  
    OP
       2015-05-07 21:01:58 +08:00
    @lifanxi 这我在另外的地方也见过,吓鸟,关键是 user.name/gmail 也不设置,都是 root@localhost
    jiang42
        12
    jiang42  
       2015-05-07 21:03:15 +08:00
    @int64ago 根据我这几天面试的经验来看,上海地区10家创业公司里大概有两家是靠谱的。。。敏捷开发是这类公司最好的借口。
    int64ago
        13
    int64ago  
    OP
       2015-05-07 21:03:55 +08:00
    @jiang42 你是面试官还是求职者啊?
    gDD
        14
    gDD  
       2015-05-07 21:07:59 +08:00 via iPhone
    @lifanxi 默默看了一眼你的 profile,嗯,是杭州某大厂。
    SeanChense
        15
    SeanChense  
       2015-05-07 21:14:54 +08:00   1
    给别人写外包 commit 几乎都是 update

    待过的一家创业公司很严谨,commit 写的清清楚楚;
    各个 branch 的生存周期;
    ticket 的任务追踪,每个 dev 的 branch 按照 ticket 的编号来;
    code review 完毕 branch#xx push 到 testing
    ryanking8215
        16
    ryanking8215  
       2015-05-07 21:17:59 +08:00
    我都是写在ChangeLog里,commit只写比较重要的修改。有这样做的吗?
    remotejob
        17
    remotejob  
       2015-05-07 21:19:20 +08:00   1
    这个说明你们公司面试有问题?
    viator42
        18
    viator42  
       2015-05-07 21:20:10 +08:00
    项目一旦急起来有时候规范什么的就顾不上了.git log有时候不写,但取个有意义的变量名这是必须的吧.
    em70
        19
    em70  
       2015-05-07 21:28:19 +08:00
    @int64ago 你不能拿大公司的管理水平来要求创业公司,创业公司首要目标是生存,开发规范肯定不会是公司特别重视的地方,既然你看到了问题,跟老大提出来,尽量能帮团队规范化就行了.
    killpanda
        20
    killpanda  
       2015-05-07 21:31:14 +08:00 via iPhone   1
    之前的接口 removeDiary 是取消收藏,myDynamic 是我的动态…
    siteshen
        21
    siteshen  
       2015-05-07 21:32:01 +08:00
    Slack 要翻墙,微信总体挺好,不过电脑上每天都要登录太麻烦。
    staticor
        22
    staticor  
       2015-05-07 21:32:16 +08:00
    正常的现象, 既然来吐槽 还是应该选对节点
    michaelye1988
        23
    michaelye1988  
       2015-05-07 21:32:38 +08:00
    myActivity.java/myActivity_1.java/myActivity_2.java/myActivity_old.java/...

    这样的写法我觉得一个大学生,稍微有点项目经验也不至于这样写吧~
    uniquecolesmith
        24
    uniquecolesmith  
       2015-05-07 21:35:14 +08:00
    我想知道,如何赚外快,业余贡献代码~~
    kxxoling
        25
    kxxoling  
       2015-05-07 21:48:10 +08:00
    见过写 fox bug 的。
    yangqi
        26
    yangqi  
       2015-05-07 21:56:30 +08:00
    创业公司很正常,这些技术细节开始根本不重要,创业公司开始主要的是客户和市场,为了生存下去
    jiang42
        27
    jiang42  
       2015-05-07 22:11:01 +08:00
    @int64ago 求职者~应届生
    int64ago
        28
    int64ago  
    OP
       2015-05-07 22:24:07 +08:00
    @SeanChense 是你写 "update" 还是看到别人写啊?
    int64ago
        29
    int64ago  
    OP
       2015-05-07 22:25:07 +08:00
    @staticor 算我大惊小怪了
    FradSer
        30
    FradSer  
       2015-05-07 22:26:40 +08:00
    多,太多了……
    kimmykuang
        31
    kimmykuang  
       2015-05-07 22:26:55 +08:00
    wiki+commit 进行issue track会比较好
    yanjunjie
        32
    yanjunjie  
       2015-05-07 22:29:51 +08:00
    创业公司,有的确实不规范!
    shippo7
        33
    shippo7  
       2015-05-07 23:21:59 +08:00
    很多创业团队都是找临时工拼凑,为了便宜,少发点工资。大家来了就是混工资,反正应付完今天的工作就行,实在干不下去就走找下一家。这种团队钱花完了也就散了
    zoosucker
        34
    zoosucker  
       2015-05-07 23:30:01 +08:00
    这不算什么,我见过写if (1==1) {// 一堆操作的}, 最后出了问题很久才发现,小公司没有人检查你的代码写的好不好,实现功能就行了,boss只要能run,才不管你的代码好不好维护...
    jun4rui
        35
    jun4rui  
       2015-05-07 23:32:12 +08:00
    我见过电信内部有个代码循环n次就把代码复制n份的……

    我还见过中国某大型数据提供商给了个怎么都不会有结果的SQL语句(WHERE i.ic_num='90011941' AND i.trn_dt>'0001-12-31' AND i.trn_dt<'0001-12-31' )

    见过有到现在还在用SQLServer2000的Oracle认证DBA

    见过还在用几年前的tomcat绿色版直接解压从来不关注补丁漏洞也从来不升级的架构师





    SeanChense
        36
    SeanChense  
       2015-05-07 23:35:58 +08:00 via iPhone
    @int64ago 我自己写的 update
    int64ago
        37
    int64ago  
    OP
       2015-05-07 23:51:56 +08:00
    @jun4rui 好可怕啊~~~(作周润发状)
    cbsheng
        38
    cbsheng  
       2015-05-08 00:02:29 +08:00
    @int64ago 这生活费赚得很是心累啊。。。干久了对身体不好
    donghouhe
        39
    donghouhe  
       2015-05-08 00:07:19 +08:00 via Android   1
    好久以前我就是用复制粘贴代替循环,写了一个5M的源码文件,我骄傲地告诉自己我写了50万行代码了,我是大牛了!
    guoer
        40
    guoer  
       2015-05-08 00:09:10 +08:00
    命名中英混合怎么破
    kukat
        41
    kukat  
       2015-05-08 00:29:14 +08:00
    我见过git commit log是这样的
    backup 2015-05-01
    backup 2015-05-02
    ...
    backup 2015-05-08


    尼玛daily backup做的挺好啊
    int64ago
        42
    int64ago  
    OP
       2015-05-08 00:30:48 +08:00
    @kukat 感觉像是脚本跑的
    adspe
        43
    adspe  
       2015-05-08 08:00:41 +08:00 via iPad
    像是我高中时候的风格。
    xunfeng
        44
    xunfeng  
       2015-05-08 08:25:54 +08:00
    哎,更离谱的我都见过。碰到有人把图片命名为 1.png 2.png ..... 初始化控件直接就一个for循环,把循环的index ( 其实他写的是 i,你懂得),格式化成图片的名字 1.png,2.png ....,本来我以为这特效已经很duang辣,没想到有个二级菜单 居然用两层for循环。。。
    lucifer9
        45
    lucifer9  
       2015-05-08 08:38:34 +08:00
    见过变量命名用a to z,然后aa to zz的么
    joshualeung
        46
    joshualeung  
       2015-05-08 09:17:24 +08:00
    这是得有多懒才会这样命名!
    caiya21
        47
    caiya21  
       2015-05-08 09:24:50 +08:00 via iPhone
    做技术时要有追求,看来我司的代码管理还是相当合理的
    Phoinikas
        48
    Phoinikas  
       2015-05-08 09:37:43 +08:00
    一个函数,上半部分使用参数,中间把参数赋给一个局部变量,下半部分又用局部变量了。
    一个函数,在堆里分配了内存,初始化,然后赋值给局部变量,然后下面又用局部变量。。。函数结束还没把分配的内存释放。
    需要相同或者类似的功能直接把大段源码拷过去。。两个几千行代码的类,至少一半以上的功能相同或相似。

    我只想说,不规范的团队接手别人的项目就是个巨大的坑。
    init
        49
    init  
       2015-05-08 09:39:09 +08:00   1


    我同事给我说, 写代码不要给别人添麻烦 也不要给自己找麻烦, 自己写的代码要付得起责任, 无论维护也好还是留给其他人做资料也好,都要规范, 起名最起码要做到见名知意。 刚开始不注意 ,所以遇到很多麻烦事, 现在好很多, 毕竟我是个新人 能带我飞我确实挺感激他的
    recall704
        50
    recall704  
       2015-05-08 10:06:17 +08:00
    @ryanking8215 有,我就是专门有个文件来存放修改记录,svn 或 git 只简单写写大概信息.
    simapple
        51
    simapple  
       2015-05-08 10:21:54 +08:00
    好吧 我也经常把不知道怎么描述的 commit 写个fixbug
    yangxiongwei
        52
    yangxiongwei  
       2015-05-08 10:37:26 +08:00   4

    是时候上这张图了
    v3u3i87
        53
    v3u3i87  
       2015-05-08 10:52:17 +08:00
    坑爹,现在很多的。。
    fxxkgw
        54
    fxxkgw  
       2015-05-08 11:30:35 +08:00
    受不了你们这些矫情仔。。
    在不仅仅是世界500强公司,一个函数几千行,茫茫多的ifdef endif来区分几十种不同产品,十多年的代码,经过成百上千的不同水平和习惯的程序员之手,你还敢设想会好成什么样?
    zythum
        55
    zythum  
       2015-05-08 11:34:13 +08:00
    commits log 其实我感觉并不重要。代码逻辑清晰。注释或者文档详细就可以了。
    civet
        56
    civet  
       
    算好了,我的队友commits log根本没作用,全打1
    只有我在用sourceTree,其他全在用乌龟git
    至于代码质量就别提了
    yangmls
        57
    yangmls  
       2015-05-08 12:10:18 +08:00
    @civet 乌龟有啥问题?对于日常要求,我感觉两者用着差不多。
    mN71eOOprFyMsnPx
        58
    mN71eOOprFyMsnPx  
       2015-05-08 12:52:25 +08:00
    @Phoinikas 哈哈!我也做了别人的接盘侠。然后,发现各种复制的代码,各种功能重复,也就是只要实现功能就是好的。彻底无语。

    一眼看懂代码?不要想了,变量名基本都是f、a、b、q等,很多时候再来一个“美丽”的循环,我就疯了。
    mN71eOOprFyMsnPx
        59
    mN71eOOprFyMsnPx  
       2015-05-08 12:54:42 +08:00
    我也在创业公司。至少,我手上的事情对得起拿的工资和良心。
    1天的工作量,我会报3天。老板催,我就说这个必须这么久。一步步搞定,自己掌握进度。
    pepsin
        60
    pepsin  
       2015-05-08 13:08:41 +08:00
    说正常的估计都是来自即将倒闭的公司
    tension2012
        61
    tension2012  
       2015-05-08 13:12:29 +08:00
    我见过,用mysql,从来不建索引的, 不会用ConcurrentHashMap,只知道synchronized
    zichen0422
        62
    zichen0422  
       2015-05-08 13:39:43 +08:00
    话说我也是这么提交代码的 :
    前几行注明是怎么修改 比如修改了什么地方
    后两行 就是fix bug 和 modify by xxxx
    cougar
        63
    cougar  
       2015-05-08 13:42:47 +08:00
    几年前,很正经的写log,现在在小公司根本连fix bugs都不写的。。。。因为某种程度上根本没想到过有人会接手的,哎,坏毛病
    ttph1oc
        64
    ttph1oc  
       2015-05-08 14:27:47 +08:00
    90%创业单位都是这样,我觉得这也是90%创业单位活不下来的次要原因之一。
    dingyaguang117
        65
    dingyaguang117  
       2015-05-08 14:46:10 +08:00 via iPhone
    @yangmls 应该是海龟吧
    est
        66
    est  
       2015-05-08 14:50:16 +08:00   2
    每当看到有人吐槽各自厂里git用得混乱,我就回一句:


    你们见过4kw用户的生产环境系统是在正式服上用root直接开发的10多个人用同一个git帐号提交是“update by xxx”所有修改只有一个master分支最新提交还是1个月前的直到有一天一个逗比用了一个中文branch名字把git web显示工具搞挂了 这种团队吗?
    Tiande
        67
    Tiande  
    PRO
       2015-05-08 14:59:12 +08:00
    @est 一看到没标点,就知道是真的在吐槽了。
    hia hia hia hia
    xiaogui
        68
    xiaogui  
       2015-05-08 15:00:14 +08:00
    @xunfeng 循环图片这个牛逼呀
    cdxem713
        69
    cdxem713  
       2015-05-08 15:32:52 +08:00
    刚招来的前端,说是代码写了5年了。变量命名各种拼音缩写,一个class的CSS全写在一行里面,做页面就是Develop tools里面慢慢调,调到可以正常显示就算完成了
    jiangzhuo
        70
    jiangzhuo  
       2015-05-08 16:57:33 +08:00
    不要跟它浪生命了 快撤
    saybye
        71
    saybye  
       2015-05-08 17:04:05 +08:00
    MARK 另外问下协作交流工具有哪些呢?
    kingname
        72
    kingname  
       2015-05-08 17:07:34 +08:00
    @coney 彪哥又遇到你了~
    kawaiiushio
        73
    kawaiiushio  
       2015-05-09 00:49:23 +08:00
    @saybye trello slack 微信 qq
    gateswong
        74
    gateswong  
       2015-05-09 03:17:45 +08:00 via Android
    感觉进一个好公司真的重要啊,最重要的是还要有一个好leader

    我的实习就教会了我很多好习惯,老大说你commit的时候要make sense,用尽量简短的话语写清楚修改了什么

    还有各种coding style要保持一致啊什么的
    coney
        75
    coney  
       2015-05-09 11:16:51 +08:00
    @kingname 么么哒~
    SeanChense
        76
    SeanChense  
       2015-05-11 13:07:16 +08:00 via iPhone
    233333

    我今天谈了个外包,目测跟你是同一个公司
    int64ago
        77
    int64ago  
    OP
       2015-05-11 14:40:24 +08:00
    @SeanChense 好的 欢迎来,我最经要开始重构代码了,你倒好 IOS还没人动,你可以安心的规范写代码了
    SeanChense
        78
    SeanChense  
       2015-05-11 19:41:00 +08:00
    @int64ago 还没答应下来,还没谈好呢。主要是不知道要多少钱合适
    int64ago     79
    int64ago  
    OP
       2015-05-11 22:27:18 +08:00
    @SeanChense 按月算还是按项目结?
    ianisme
        80
    ianisme  
       2015-05-18 23:38:13 +08:00
    @jiang42 哈哈 敏捷开发,哇哈哈。我想起了之前公司的一个人,哇哈哈
    ddou
        81
    ddou  
       2015-05-31 14:38:23 +08:00 via iPad
    @jiang42 敏捷就是死在这些人手里
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3681 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 00:49 PVG 08:49 LAX 17:49 JFK 20:49
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86