V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sponsored by
LinkedIn
2000 个不用坐班的远程好工作在召唤你 · 弹性上班不打卡,工作和生活都能拥有
2000 个不用坐班的全球远程工作,帮助 V2EX 的小伙伴开启全新的工作方式。
Promoted by LinkedIn
kuyuzhiqi
V2EX  ›  职场话题

帮别人填坑到心累

  •  
  •   kuyuzhiqi · 2018-12-20 08:40:45 +08:00 · 4262 次点击
    这是一个创建于 1375 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2333 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 02:30 · PVG 10:30 · LAX 19:30 · JFK 22:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.