V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
rannie
V2EX  ›  iDev

最近跳槽,发现了一些代码的问题= =

  •  
  •   rannie ·
    rannie · 2015-07-16 09:58:06 +08:00 · 3863 次点击
    这是一个创建于 3447 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近跳槽到了一个还算比较大的公司,发现网络请求都是在 UIView 子类里做的,事件也是能吃就不往 Controller 里抛。请教大大们,我如何说服别人在视图里做这些事不好,还是说我也暂时按照这种方式去写新的 Controller 。

    19 条回复    2015-07-30 17:09:36 +08:00
    xingso
        1
    xingso  
       2015-07-16 10:03:28 +08:00
    开心就好。。hhhhh
    bk201
        2
    bk201  
       2015-07-16 10:06:23 +08:00
    自己别跟着这么些,等到有人要找你谈话时把你理由说出来,
    nullcc
        3
    nullcc  
       2015-07-16 10:11:31 +08:00
    自己写一个network manager吧,先用着,别跟着这种做法,早期问题估计也是积重难返,要统一让所有人改不容易
    rannie
        4
    rannie  
    OP
       2015-07-16 10:17:19 +08:00
    @nullcc 可能我表达不太清楚 network 都统一有的 只不过 view 里调用了那些业务层的接口去访问网络获取数据
    nullcc
        5
    nullcc  
       2015-07-16 10:21:34 +08:00
    @rannie 了解了,在View里发还蛮奇葩的,耦合性太高了
    sobigfish
        6
    sobigfish  
       2015-07-16 10:53:43 +08:00
    直接教他们“更先进的” MVVM
    http://www.objc.io/issues/13-architecture/mvvm/
    rannie
        7
    rannie  
    OP
       2015-07-16 11:07:42 +08:00
    @sobigfish 其实也是小问题,我自己注意点就行了 刚来就说教不好吧= =
    teriyaki
        8
    teriyaki  
       2015-07-16 11:32:25 +08:00
    入乡随俗吧

    偶刚去过一家小公司 临时帮忙一个月 cto着急

    12w行代码objectivec代码 涉及ui全代码写 有4,5万行

    无数子类层层嵌套 强耦合

    后来前团队想解改进 从头写了多些 步子大些 崩盘了 老板急了 退回旧版本

    前团队全部跳槽

    新团队要从头写

    俺说别啊 人家迭代2年 你从头来还不如人家呢

    好办法只能先架构解耦 再一个模块一个模块替换

    苦逼一个月 天天9~9 有时夜里1-2点 解耦加部分模块重构

    别人分到模块都是从头写 简单啊

    哥还傻吧一样把无数uicode转xib

    尽可能保持不动一片逻辑代码避免新bug的同时mvc分离

    等图片一直不给还要像素级别实现设计

    最后还尼玛说就偶写的东西有问题 尼玛公司政治别往我身上撒气啊

    哥急了 以为不给钱 只好撤了 彼时临时北京住店一月接近6000 分两次给的第一次8000

    实挣2000不到 介叫嘛事

    后来人家良心发现 给钱了 给足了不说 还多给了

    哥不知道 可一直一个人电话偶 以为骚扰呢

    后来短信偶要警察抓我 原来cto不好意思也怕公司不给钱 提前垫付给偶了

    沟通有问题 财务又多发一次 呵呵
    rock_cloud
        9
    rock_cloud  
       2015-07-16 11:36:04 +08:00
    @teriyaki 你这个俺偶藕的。。。看着费劲。。。
    teriyaki
        10
    teriyaki  
       2015-07-16 11:39:22 +08:00
    @rock_cloud

    将就吧 没法改

    总比那12w行强耦合的oo代码好看些
    pepsin
        11
    pepsin  
       2015-07-16 11:39:25 +08:00
    我觉得解决办法是给 FORK 发简历~
    teriyaki
        12
    teriyaki  
       2015-07-16 11:43:50 +08:00
    @rock_cloud

    新团队还有自己的新架构 要上
    还要和老架构融合 还得是解耦的 一开始暴力融合 编译错误1000+
    改nn个conlectionviewcontroller到uiviewcontroller

    赶脚这9~21作息 干一年准早夭
    teriyaki
        13
    teriyaki  
       2015-07-16 11:46:49 +08:00
    objectivec貌似复杂其实很简单
    swift貌似简单其实复杂

    objectivec简单但是异常灵活 乱搞写出一坨屎易如反掌
    samzh
        14
    samzh  
       2015-07-16 19:50:09 +08:00
    应该先问清楚当时是为什么这样写。

    会这样做不管是好是坏都会有理由。

    如果回答是因为
    「一开始设计就这样,我也不知道为什么」,
    「不知道啊我看以前这样用就顺手用起来了」
    这样的答案,完全就可以按「更优」的方法来实现。

    但如果回答是 某些业务上的原因,因为XXOO被迫这样做 的话,
    那就要跟设计者再好好商量要不要改,以及改的理由,需要的资源,改动带来的工作量等等实际的问题了。
    huanglexus
        15
    huanglexus  
       2015-07-17 11:09:15 +08:00
    网络请求能这样写的,也就是初学者的水平,估计这公司最初的产品就一在校实习生做的吧,然后后来的人也懒得重构。

    稍微有点经验的都会做个网络请求的封装类
    123123
        16
    123123  
       2015-07-17 14:17:49 +08:00
    @teriyaki 人家说的是你自己人称代词太乱
    rannie
        17
    rannie  
    OP
       2015-07-18 09:13:07 +08:00 via iPhone
    @huanglexus 我回复另一个了也 封装是有的 也根据业务分成了不同类的接口,只不过是在view子类里去取的数据
    chmlai
        18
    chmlai  
       2015-07-22 17:19:30 +08:00
    哪个公司?
    zenghaojim33
        19
    zenghaojim33  
       2015-07-30 17:09:36 +08:00
    开心就好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2703 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:26 · PVG 19:26 · LAX 03:26 · JFK 06:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.