[请益] 菜鸟如何看懂高手的code?

楼主: g001613001 (阿月)   2016-11-03 16:18:25
各位好
小弟目前是个iOS菜鸟工程师
目前只有以自己的coding方式完成一个案子
但是公司同时也有请外包商写Android和iOS的版本
最近因为已经按照后台给的规格书完成了进度
所以公司希望我能在12月底前学会安卓
所以原本是一直抱书啃
但是上头觉得拿外包商的原始码给我看才可以学的比较快
所以我就看了
但是很明显高手写的完全让我看不懂
主要是我大部份都没有把功能切的很细
看高手写的,切的非常细
所以让我阅读很困难,加上几乎没有注解
而且会使用许多精简的程式码写法
让我看了三天还是没什么进展
公司也没有人可以请教,只有我一个人
所以目前感觉压力颇大
不知道该怎么看懂iOS的部份
安卓的话我书啃不到一半更看不懂...
不知道有前辈可以分享或者指点一下
该怎么让一个菜鸟能看得懂高手写的code吗?
谢谢大家
作者: lonelytea (霸气逼人)   2016-11-03 16:24:00
我懂...唉
作者: robler (章鱼丸)   2016-11-03 16:26:00
不要越级打怪 从书上范例做起
作者: Andylovers (Smash)   2016-11-03 16:27:00
年底学会Android? 现在十一月耶= =我的处境跟你差不多,也是两个平台一起做,从无到有..我也是一开始都没碰过,到现在才10个月...我懂你的感觉Orz
作者: testPtt (测试)   2016-11-03 16:32:00
不知道Android和iOS有没有IntelliSense 没有我也不会看
作者: MOONY135 (谈无欲)   2016-11-03 16:38:00
慢慢看阿 尤其是那种功能有很多软件会用到的多半都会写成class 然后就快速开发...
作者: ian90911 (xopowo)   2016-11-03 16:48:00
都有
作者: loseptt (loseptt)   2016-11-03 16:49:00
公司花钱请你看CODE 赞赞赞保持下去拖半年 在跳巢 就可以加薪了 赞赞赞
作者: fidelity77 (小柚)   2016-11-03 16:58:00
同时开发两种太坑了吧,而且两个月时间应该连java都学不熟吧还学安卓勒
作者: QQ112233 (QQ)   2016-11-03 17:02:00
左转拿离职单
作者: MOONY135 (谈无欲)   2016-11-03 17:03:00
慢慢练习到被开除 顺便修履历 年后怒跳一波 选我选我
作者: dnabossking (少狂)   2016-11-03 17:08:00
真好
作者: yyc1217 (somo)   2016-11-03 17:11:00
由大处往小看 不要马上就钻研小细节或奇技淫巧
作者: colawei (就是可乐)   2016-11-03 17:15:00
1.了解每段程式码的功能目的 2.试过修改所有功能变量3.细部研究每一行指令 4.试着开新专案写出相似的程式
作者: Hikkiaholic (= =a)   2016-11-03 17:26:00
看逻辑 别管语法要做C->D 就找到A->B复制改成C->D
作者: stevekevin10 (hippo泡)   2016-11-03 17:56:00
逻辑比较重要
作者: ppppman (4pman)   2016-11-03 18:26:00
新手练一个就哀哀叫了 一次练两个...
作者: aoc5000 (香蕉)   2016-11-03 18:33:00
我也遇到相同问题 囧
作者: ousapas (komica123)   2016-11-03 18:39:00
要你同时负责两个平台比较有问题吧 又不是hybrid
作者: codehard   2016-11-03 18:43:00
勿在浮沙之上筑高塔
作者: howard9877 (撠铴撑Chang)   2016-11-03 19:03:00
钱多少啊?如果没六七万还是换工作吧,要双修…呸
作者: aaaming (搅屎南帝一灯大湿)   2016-11-03 19:18:00
高手code 又没注解 看完也可以跳巢惹 羡慕QQ
作者: XJY13 (You'll never walk alone)   2016-11-03 19:27:00
之前我做一点点简单安卓 就跳去写iOS 直接硬干 基础没打好
作者: childlike12 (幼稚鬼+小孩子=娃娃ˊ~ˋ)   2016-11-03 19:27:00
反正你刚开始学,干脆直接学react?
作者: pttworld (批踢踢世界)   2016-11-03 20:37:00
询问文件对照着。没注解通常会有文件。
作者: cowyou   2016-11-03 20:52:00
之前面试一间公司,面试Android工程师,最后连ios一起面,因为ios工程师这职位砍掉,公司打算只招一位,iosAndoird都要写,笔电自备,38K,呵
作者: serval623 (洛杉磯強姦人)   2016-11-03 20:56:00
楼上这个offer 够狂
作者: tails32100 (Tails)   2016-11-03 21:02:00
个人觉得,写出人懂的程式码才是真高手毕竟程式码是给人看的 >"<
作者: EngRookie (EngRookie)   2016-11-03 21:32:00
两边都要写的表示没人懂你的工作内容跟难度...
作者: blu1121 (Big Brain)   2016-11-03 21:43:00
不够直观是不是有可能用了很多Design pattern的概念?!
作者: TFnight (二十四夜)   2016-11-03 21:58:00
先把class的概念弄懂 从class & function 猜大概的功能先
作者: twobrother20 (twobrother20)   2016-11-03 22:04:00
程式码简单易懂 最好了 写一堆难懂 有屁用以后离职更难交接
作者: s410294 (暖囊)   2016-11-03 22:19:00
我觉得你不懂物件导向
作者: brucetu (sec)   2016-11-03 22:24:00
如果有写测试 从测试开始看,如果没有呵呵 连程式是不是对的都很难讲,你就乱改看看吧 不熟的状况我觉得debug单步爬比你用人脑runtime容易看懂 也有call stack资讯方便来回检视
作者: viper9709 (阿达)   2016-11-03 23:11:00
推越级打怪
作者: cakeboy   2016-11-04 01:11:00
Java 通常变量和方法取名取得好的话,大概就会知道流程是什么,细节再印log 看看大概就可以懂8成以上了
作者: maxqq (max)   2016-11-04 07:17:00
六年前...我没任何 app 经验,公司就帮我接下一个月的案子
作者: qweqweqweqwe (4qwe)   2016-11-04 07:36:00
其实… 新手怎么能看的出是不是高手…
作者: longlongint (华哥尔)   2016-11-04 07:41:00
如果时间不够 看 func name 就好 当机再一行一行看
作者: tipsofwarren (tipsofwarren)   2016-11-04 09:48:00
个人经验:先把架构看懂,子功能/算法则用debugger
作者: vi000246 (Vi)   2016-11-04 10:10:00
先找出是哪个地方call 这些类别的 找出程式主要的流程
作者: doranako (真爱无限)   2016-11-04 10:16:00
如果偶合很少的话要trace才看的懂,先从ui下手,起码一个activity或fragment对应一个xml,把所有ui的关联画起来然后针对每个画面所需功能再进行研究着手进行前起码要先知道android的ui生命周期,这个不用花多久时间
作者: ginnyhuang (ginnyhuang)   2016-11-04 10:29:00
猜测高手code有一堆共用code共用(extends)baseView?你先抓出所有Activity,通常一个Activity对应到一个page如果分不清哪个Activity是哪页就先抓第一页(manifest中有LAUNCHER的那个activity)。从这页开始,有创建view的(不知道他是coding还是xml,猜是前者更难懂)、有UI逻辑的、有取data的,和你在iOS的那页做比较,应该可以从这页了解那些code在做什么,以此类推,看下一个activity的速度会更快。如果某一页太复杂还看不懂,那可以先挑简单的来看。看了几页应该就能大致懂对方写code的逻辑和习惯,不要太执著于单一function里面的运算(细节可以后面要修改时或习惯后再填补),而是先知道这个function是在处理什么。(PS.交接没有文件?)PPS.看code时可以手写笔记画流程,对理清逻辑很有帮助
作者: popcool (我不懂)   2016-11-04 10:57:00
看高手code的机会可遇不可求啊!看懂不管逻辑或架构你都会大跃进,加油
作者: jazzter (阿里巴巴你妈妈)   2016-11-04 11:30:00
啊可是iOS本身在app 开发上就和mvc强烈结合,这一定要懂吧,不然想讨论的话欢迎
作者: pkwelly (新街国小小小郭)   2016-11-04 13:02:00
Android先就MainActivity的onCreat()慢慢看搂~加上AndroidManifest.xml以及全域变量开始看applicationiOS既然有在写的话应该就多多注意每个Controller的Delegate应该差不多吧...? 我也是两个都有在写~欢迎讨论 颗颗
作者: jin0000 (某某)   2016-11-04 20:33:00
用心智图软件去描绘自己了解的流程,应该起码就能先入门了
作者: ak2840 (77529685)   2016-11-05 19:27:00
可以先问为什么你会觉得这是高手写出来的?看完上面的叙述只觉得雷而已
作者: geroge0820 (可.....可恶)   2016-11-06 14:49:00
想知道这样待遇多少
作者: shietsd (123)   2016-11-06 17:11:00
看起来你并没有project压力吧?因为外包已经做完了?这样你只要选择先看iOS还是Android的code,选你以后想做的先看,然后先看概念,自己画关联图,function 不要看太深,知道function input/output 什么就可以自问自答,当别人问你flow时要讲的出来,这样就可以了,然后再看另外一种,记住不要钻太深
作者: OpenGoodHate (什么东西什么东西)   2016-11-07 11:44:00
要同时开发为何不用跨平台套件
作者: realmeat (真肉)   2016-11-07 12:28:00
我是觉得没很难, 比起读讲不清的文件...我都跑去看sourcecode... 如果有的话不过啥叫高手的code? 这是哪来的定义?
作者: s860134 (s860134)   2016-11-07 20:57:00
通常高手的code是最好懂的,减少重复才是重点,不是写得短就好
作者: otaku5566 (オタク56)   2016-11-07 23:58:00
菜鸟5万应该是一开始就打算要人双修的吧

Links booklink

Contact Us: admin [ a t ] ucptt.com