帮别人填坑到心累 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kuyuzhiqi
V2EX    职场话题

帮别人填坑到心累

  •  
  •   kuyuzhiqi 2018-12-20 08:40:45 +08:00 5182 次点击
    这是一个创建于 2535 天前的主题,其中的信息可能已经有所发展或是发生改变。
    p>11 月底换工作,Android 开发,另外一个小伙伴兼职(同时做两份工作),我全职,进去后发现他的代码很乱,各种耦合,变量名定义不规范,签名文件的密码 123456,我的简历在 git 仓库里面(滑稽),还一直丢自己的 bug 让我改,这个项目是他开发的,现在是各种小问题不断。

    进去的时候耐着性子看完代码,并花了一个星期简单重构了下,想着以后代码结构什么的弄好点,但昨天发生了两件事让我彻底心累了:1.做的 app 没有适配 Android8.0,导致在有的手机上图标显示默认 logo,他和我说是第三方的 sdk logo 覆盖了系统的 logo,将 ic_launcher 换个名字,我的想法是为什么是第三方 sdk 覆盖 app 的呢?不想下这个问题就去换名字?我的做法是创建一个 image asset,最后证明我的是对的; 2.原来的项目中 mimap-xhdpi,mimap-xxhdpi...和 drawable-xhdpi,drawable-xxhdpi...两种文件夹同时在用,我想着这样很混乱,他还一直坚持要采用原来的结构,好不容易得到他的默认许可后,就全部将图片素材移动到 mimap-xxx 类型的文件夹,我是在 develop 分支上开发的,他说我不该提交这么大的改动,我在 develop 分支上提交,又不是 release 分支上提交的,而且这个素材改动在编译期间出现的问题就可以发现,然后在 qq 讨论组和我争论了半天。

    以前的代码还出现过在启动的时候有几百次登录请求,在讨论组里面问后台为啥拒绝请求,想想也是挺搞笑的。哎,你代码那么乱,别人帮你重构,不感谢不说,还各种阻挠,公司的人也说让他拍板,我前面也有个 Android 开发在试用期间就走了,我现在还没过试用期。

    27 条回复    2018-12-21 15:31:29 +08:00
    whileFalse
        1
    whileFalse  
       2018-12-20 08:46:19 +08:00
    前面的那个小哥是你的榜样啊。
    工作不仅仅是 make money,也是生活的一部分。
    我完全理解那个兼职小伙伴是怎么搞出来这一坨的,但理解不等于应该承受。
    huclengyue
        2
    huclengyue  
       2018-12-20 09:08:47 +08:00 via Android
    mimap 是存档 luncher 的 drawable 存档资源群的这两个文件夹功能不同。本来就是要一起用的啊。
    huclengyue
        3
    huclengyue  
       2018-12-20 09:10:13 +08:00 via Android
    @huclengyue 存放。
    kuyuzhiqi
        4
    kuyuzhiqi  
    OP
       2018-12-20 09:14:45 +08:00
    @huclengyue 刚开始的时候只是用来存放 launcher 的,但 as2.1.2 将 mipmap 分成多个文件夹,方便适配。都可以放吧,只是一起用比较混乱
    d3vil
        5
    d3vil  
       2018-12-20 09:34:21 +08:00 via iPhone
    有能耐去 bat 享受工作,没能耐就在这公司拿钱做事别想那么多,然后自己暗中酝酿,酝酿出一定实力跳槽走人,老板都说了让人家拍板,道不同不相为谋,人家根本不愿意去想你说的东西,你何必和自己过不去?到头来搞得你和那个能够拍板的人关系不好,老板也觉得你怎么这么多事?挺简单的事,没有必要给自己添堵,徒增烦恼。
    hjw45611
        6
    hjw45611  
       2018-12-20 09:36:15 +08:00
    一开始没看懂 mimap 是啥,看了半天才知道是 mipmap,Google 官方是推荐除了启动图标以外的图片资源都要放到 drawable 的。
    huclengyue
        7
    huclengyue  
       2018-12-20 09:38:04 +08:00
    mipmap 文件夹下的图标会通过 Mipmap 纹理技术进行优化。android 中的 mipmap 技术主要为了应对图片大小缩放的处理,在 android 中我们提供一个 bitmap 图片,由于应用的需要(比如缩放动画),可能对这个 bitmap 进行各种比例的缩小,为了提高缩小的速度和图片的质量,android 通过 mipmap 技术提前对按缩小层级生成图片预先存储在内存中,这样就提高了图片渲染的速度和质量。

    api 中通过 Bitmap 的 public final void setHasMipMap (boolean hasMipMap) 方法可以让系统渲染器尝试开启 Bitmap 的 mipmap 技术。但是这个方法只能建议系统开启这个功能,至于是否正真开启,还是由系统决定。

    res 目录下面 mipmap 和 drawable 的区别也就是上面这个设置是否开启的区别。mipmap 目录下的图片默认 setHasMipMap 为 true,drawable 默认 setHasMipMap 为 false。

    google 建议大家只把 app 的启动图标放在 mipmap 目录中,其他图片资源仍然放在 drawable 下面。

    其他的资源图片放在这里面,可能因为会压缩导致显示问题吧,毕竟分辨率奇葩的手机一大堆。
    zcljy
        8
    zcljy  
       2018-12-20 09:44:55 +08:00
    @huclengyue 正解
    kuyuzhiqi
        9
    kuyuzhiqi  
    OP
       2018-12-20 09:56:32 +08:00 via iPhone
    @huclengyue 现在创建项目都是只有 mipmap 文件夹
    kuyuzhiqi
        10
    kuyuzhiqi  
    OP
       2018-12-20 10:05:42 +08:00 via iPhone
    @d3vil 确实啊,很多时候与技术无关
    UIXX
        11
    UIXX  
       2018-12-20 10:18:21 +08:00   5
    关于填坑,我觉得是个学问,有几点跟 LZ 分享一下,与君共勉。

    0、不花心思去理解别人的业务代码。

    1、除非重构,永远不去修改能正常运行的代码。

    2、除非我已经跟他平级了,永远不主动修改上级 /前辈的代码。

    3、永远不要在旧系统的需求上想当然。

    4、即使重构,新的技术也需要试验了再上。

    5、如果你今天不能说服他,就尝试去理解他,关系缓和后再说服他。

    6、老板在技术上是傻 x,但是他能看到的东西绝对比自己多。
    coderluan
        12
    coderluan  
       2018-12-20 10:24:05 +08:00   1
    1.不要重构代码,看着难受可以写好接口,打包成库。
    2.重构代码前和人打声招呼是基本的流程和礼貌啊。
    3.不要去小作坊。
    kuyuzhiqi
        13
    kuyuzhiqi  
    OP
       2018-12-20 10:52:48 +08:00
    @UIXX @coderluan 谢谢,学到了
    sebga
        14
    sebga  
       2018-12-20 12:34:09 +08:00
    这个属于管理问题,很难解决,不行真的要走。
    他的代码乱,但是有权力拍板,你没有。
    他和你的工作配合不和谐,价值观不知道一不一致,不一致的话,就很麻烦,长期下去,不是你走就是他走。
    价值观一致的话,还可以努力沟通一下,就是会心累。

    解决办法:
    自己走;
    价值观一致的话,努力说服。
    搞定老板,让你拍板,搞走他。
    kuyuzhiqi
        15
    kuyuzhiqi  
    OP
       2018-12-20 16:10:52 +08:00
    @sebga 搞走他不太可能,我开始以为他工作经验少,后来发现,差不多 30 多岁了,有两个孩子,和我们老大还是好朋友,只可能我走呀
    sebga
        16
    sebga  
       2018-12-20 17:06:02 +08:00
    那就换吧,没得说了
    huclengyue
        17
    huclengyue  
       2018-12-20 20:32:05 +08:00 via Android
    @kuyuzhiqi 并不是啊。drawable 还是有的
    kuyuzhiqi
        18
    kuyuzhiqi  
    OP
       2018-12-21 07:50:50 +08:00 via iPhone
    @huclengyue 这个 drawable 用来放 xml 的
    petelin
        19
    petelin  
       2018-12-21 09:43:28 +08:00 via iPhone
    @UIXX 何必呢,这样最后的结果就是互相推锅 /代码垃圾的不行。
    我 codereview 从来看见不爽的就委婉的问能不能改
    UIXX
        20
    UIXX  
       2018-12-21 10:09:04 +08:00
    @petelin 每一条都是血与泪的教训,只想说,人的精力是有限的,根本没必要花在别人的错误上面。

    1、考虑自己的时间成本与改动后收益。一堆垃圾只改其中一点还是垃圾,你永远不知道你的正确代码会不会被他人的 BUG 所影响。除了重构。

    2、按流程说,填坑跟 codereview 是完全错开的。填坑是修改别人的遗留代码,锅也是之前的 review 跟 dev 背。你说的完全是开发期的事情,而不是二次开发或者运维的事情。

    3、看到垃圾代码就想改...我想说除了技术层面的因素,这是谁写的代码 /服务于谁 /新技术、架构验证 /测试成本都同样重要,所以...
    petelin
        21
    petelin  
       2018-12-21 12:30:05 +08:00 via iPhone
    @UIXX 其实这事都是通用的,看见一个烂摊子管不管的问题,社会上的烂摊子我一点能力没有,所以好不 care (就是无所谓爱国,真能量啥的) 但是公司内部,我还是希望用自己的影响力,去帮助别人(傻逼是不会帮的,我会想办法远离傻逼,找好一点的或者跳槽)。我希望我的精力不光用在提升自己,也可以用在提升帮助他人上。而且后一条是我司已经我对领导的定义。
    petelin
        22
    petelin  
       2018-12-21 12:31:00 +08:00 via iPhone
    我司以及我对一个合格的 leader 的定义
    kuyuzhiqi
        23
    kuyuzhiqi  
    OP
       2018-12-21 13:02:36 +08:00
    今天早上发生了更搞笑的事情,两个分支合并后,一个类他说找不到,然后因为这争论起来,在领导所在的讨论组里面骂我,我就受不了了直接回家准备辞了,结果他自己拉了下代码找到了那个类,在讨论组疯狂打脸。
    UIXX
        24
    UIXX  
       2018-12-21 13:17:33 +08:00
    @petelin
    不冲突。事实上这不是一件事情。我的观点是,在填坑的过程中你发现 bug,可以上报跟修复。但是对于一些正常运行的功能,如果仅仅是“我认为 /觉得”这样做不好而产生了修改的想法,这是不恰当的,缺乏谨慎的。当想去验证的时候,常常发现验证与测试成本是远超过所谓的提升成本...

    这个东西其实没有什么管理上面的意义,纯属个人的经验,我做过很多年的协作开发,也做过很多年的独立开发,偶尔也做做甲方的外包,对于技术上的一些小执拗(是不是要坚持去修改别人的代码)我不认为是“对”或者“错”,但我更倾向于符合生活智慧的选择。
    UIXX
        25
    UIXX  
       2018-12-21 13:20:45 +08:00
    @kuyuzhiqi 小老弟,别冲动。不妨跟你那个同事还有领导沟通一下,实在沟通不了再走也不迟。
    kuyuzhiqi
        26
    kuyuzhiqi  
    OP
       2018-12-21 13:32:07 +08:00
    @UIXX 人家把话说死了, 没法圆了呀
    petelin
        27
    petelin  
       2018-12-21 15:31:29 +08:00 via iPhone
    @UIXX 明白,你说的场景更多。我也不会轻易改别人的代码的。我说的更多的是我自己 owned 的代码,整个逻辑我最清楚那种,在这个基础上会对别人的代码就行 review,不需要额外的精力去阅读他们的代码。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2867 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 10:57 PVG 18:57 LAX 02:57 JFK 05:57
    Do have faith in what you're doing.
    ubao msn 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