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

2015-07-16 09:58:06 +08:00
 rannie

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

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

将就吧 没法改

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

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

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

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

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

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

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

稍微有点经验的都会做个网络请求的封装类
123123
2015-07-17 14:17:49 +08:00
@teriyaki 人家说的是你自己人称代词太乱
rannie
2015-07-18 09:13:07 +08:00
@huanglexus 我回复另一个了也 封装是有的 也根据业务分成了不同类的接口,只不过是在view子类里去取的数据
chmlai
2015-07-22 17:19:30 +08:00
哪个公司?
zenghaojim33
2015-07-30 17:09:36 +08:00
开心就好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/206017

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX