vista980622
V2EX  ›  Apple

笑到肚子疼的 iOS 开发建议

  •  1
     
  •   vista980622 · May 27, 2017 · 9215 views
    This topic created in 3451 days ago, the information mentioned may be changed or developed.
    最近在推特上看到了 @realbadiostips 这个账户发出了一大批糟糕的 iOS 开发建议,简直笑到肚子疼。下面我就来翻译一下这些推文,请各位一同欣赏:

    1 - 要给变量取名字?用拼音首字母就对了!这样代码不但短小精悍,同时有效减少手臂酸痛。



    2 - 公司的 HR 面试官才不在乎你会不会写单元测试、是否精通算法,或者了不了解平台的 API。只要告诉他们你大量依赖并熟练使用各种第三方 CocoaPods 库就够了!



    3. 想要离线缓存数据?千万别用数据库,那东西太复杂了,又要考虑线程、又要担心合并策略,特别容易出错。你应该用经过初级程序员们千锤百炼的 NSUserDefaults,稳定性坚如磐石。



    4. 还记得编译 app 的时候出现的那些警示么?其实这是水果的阴谋。警示多了,说明你对 iOS 的底层了解太深,水果怕你滥用权限。所以千万别浪费宝贵的休息时间去纠错,而是应该对你的成就感到由衷的开心。



    5. 在编写 app 的时候务必牢记:在用户第一次启动 app 的时候,一定要让系统弹出 11 个 Alert,向用户索取所有能索取到的隐私权限:相机、麦克风、定位服务、联系人、日历、提醒事项、蓝牙共享、健康、音乐、语音识别和 HomeKit。毕竟,要是第一次启动的时候不问全了,之后需要用这些权限的时候忘了索取可就坏了 —— 忘了的话,傲娇的水果是会直接让你的 app 崩溃的。



    6. 如果你是面试官,面试 iOS 程序员的时候一定要叫他们在白板上用 RxSwift 从头开始编写神经网算法。这样不但让你在面试时变成威风凛凛的指挥官,而且还能让他们在今后工作期间对你俯首贴耳。



    7. 进阶技巧:在写代码的时候记得不要换行。这样不但会加快自动补全的准确度,还会改善编译的速度。另外,在设置调试断点的时候你也不用上下翻来翻去了。



    8. 想防止代码异味?简单!首先保存 Xcode 项目。然后打开终端,只 commit 现有改动到本地的 git 源,但不要把变更推到 Github 上。最后用 Finder 打开工程目录,在笔记本开盖的情况下把整机泡到高浓度酒精里。搞定!



    9. 想知道你用的第三方库稳不稳定?简单!找库就像买二手车 —— 经过的各种修修补补和维护当然越少越好。



    10. MVC 其实是 Most Viable CocoaPod (最明显的 CocoaPod) 的缩写。



    11. 把复杂的代码全部丢进异步后台线程里能够提升性能。只有原始人才用的整数、布尔值和 UISegmentedControl 才需要在主线程里执行。



    12. 程序里各种功能的 KPI 不够?简单!先强制注销用户,然后用灰度下发或者随机算法给登录页面换个地方。这样,你的 app 就变成了一场寻宝游戏,特别有助于用户发现和体验各种之前不知道的功能。



    13. 个人开发者经常接私活?是不是那么多 iTunes Connect 的账号密码记也记不清了?哎,你们太不会变通了。把这些 iTunes Connect 的账号密码存到 Info.plist 里不就好了吗?随用随取!



    14. 在 AppDelegate 里的代码越多,你的 app 运行速度越快。AppDelegate 和 CPU 之间的距离最短,性能开支最少。

    52 replies  •  2017-05-30 19:23:32 +08:00
    guanqian
    guanqian
    May 27, 2017
    1
    虽然不懂 ios 开发,但是,哈哈哈哈哈。
    zaxlct
    zaxlct
    May 27, 2017 via Android
    2
    翻译的不错
    irainsoft
    irainsoft
    May 27, 2017
    3
    第 13 条 hhhhhh
    vista980622
    vista980622
    OP
    May 27, 2017
    4
    @zaxlct Thx! :D
    mooczz
    mooczz
    May 27, 2017
    5
    😂
    loveuqian
    loveuqian
    May 27, 2017 via iPhone
    6
    全部赞同
    wym572
    wym572
    May 27, 2017 via iPhone
    7
    这样的 App 过不了审核。
    jayzjj000
    jayzjj000
    May 27, 2017
    8
    有没人帮忙试一下 13 条的账号密码 233333333
    bullettrain1433
    bullettrain1433
    May 27, 2017
    9
    - -iOS 都被这些人搞浑水了
    alice1991
    alice1991
    May 27, 2017
    10
    受益匪浅
    vincentxue
    vincentxue
    May 27, 2017
    11
    这明显是自黑的吧?
    vista980622
    vista980622
    OP
    May 27, 2017
    12
    @vincentxue 恩,是个恶搞的推特账户。
    andyL
    andyL
    May 27, 2017
    13
    66666,真的是诶,我都是这么干的,借此获得多次优秀员工。
    这个推主很有才,我要关注。终于找到水平相近的,可敬的对手了。

    🤓
    andyL
    andyL
    May 27, 2017
    14
    翻译的不错,Btw,你 catch 到 point 了
    hst
    hst
    May 27, 2017
    15
    好欢乐啊
    andyL
    andyL
    May 27, 2017
    16
    楼主啊,能不能转载到公众号,灰常感谢 🙏🙏
    andyL
    andyL
    May 27, 2017
    17
    - Keep your variable names to 1 or 2 characters. Keeps your code Swifty and saves your rams.
    - 给变量命名一定要精简,尽量只用 1-2 个字符,这样可以使你的代码运行更加流畅,并且可以有效的减少程序对内存的占用
    andyL
    andyL
    May 27, 2017
    18
    变量命名
    - 一定要精简,尽量只用 1 个字符,26 个不够用的情况下可以适量增加。
    - 有时候自己都看不懂?你需要新建一个文本文档来仔细描述这个变量的作用,以用来查看其具体的含义。
    - 用完之后请注意加密这个文档,以免被别人解读。这个技巧有个最大的好处:你也许可能变成公司不可或缺的的顶级程序员。
    andyL
    andyL
    May 27, 2017
    19
    这一个是我自己瞎掰的 哈哈哈哈
    wangleineo
    wangleineo
    May 27, 2017
    20
    但是我觉得 NSUserDefaults 真的很好用啊...
    vista980622
    vista980622
    OP
    May 27, 2017
    21
    @andyL 转载到公众号没问题!
    vista980622
    vista980622
    OP
    May 27, 2017
    22
    @andyL 那个你自己掰的变量命名亮了!(要是用 Swift 的话,还可以加一条用 Emoji 命名)
    vista980622
    vista980622
    OP
    May 27, 2017
    23
    @wangleineo NSUserDefaults 好不好用要看用途,要是轻量的数据或者设置的话确实很好用。要是数据库大了就有点... 不太合适?
    hshw
    hshw
    May 27, 2017
    24
    这是反讽吧
    wangleineo
    wangleineo
    May 27, 2017
    25
    @vista980622 没错,就是轻量数据。app 在本地缓存的数据也就不到 100 条吧,虽然是结构化的,但是感觉用数据库有点多余。
    vista980622
    vista980622
    OP
    May 27, 2017
    26
    @wangleineo 恩,100 条的用 NSUserDefaults 绝对没错!
    vista980622
    vista980622
    OP
    May 27, 2017 via iPhone
    27
    @hshw 恩,当然是反讽。
    andyL
    andyL
    May 27, 2017
    28
    @vista980622
    @all
    整理了一下,放到公众号和简书上了。http://mp.weixin.qq.com/s/q6sWeJ0-syp10BsffjYGoQ

    简书: http://www.jianshu.com/p/1325d6dc6678

    🤓🤓🤓
    vista980622
    vista980622
    OP
    May 27, 2017
    29
    @andyL 看到了!还有你的二次创作 :D
    andyL
    andyL
    May 27, 2017
    30
    @vista980622 哈哈哈哈
    n6DD1A640
    n6DD1A640
    May 27, 2017
    31
    。。。人干事
    EagleB
    EagleB
    May 27, 2017
    32
    AppDelegate 和 CPU 之间的距离最短,喷了
    CSwater
    CSwater
    May 27, 2017
    33
    @andyL 不交代一下前因后果,你会被人糊墙上的……
    andyL
    andyL
    May 27, 2017
    34
    @CSwater 不太明白,什么前因后果,啥叫糊墙上😅😅
    CSwater
    CSwater
    May 27, 2017
    35
    @andyL 有人会没看完就开喷。
    onefouroo
    onefouroo
    May 27, 2017 via iPhone
    36
    照着第 5 条做一次 :D
    BoBoy
    BoBoy
    May 28, 2017 via iPhone
    37
    没感觉哪里好笑, 倒是感觉你很无聊。
    vista980622
    vista980622
    OP
    May 28, 2017❤️2
    38
    vela
    vela
    May 28, 2017
    39
    好想顺手写个 Java 版……
    andyL
    andyL
    May 28, 2017
    40
    @BoBoy 感觉你就是一条无聊的蛆虫
    andyL
    andyL
    May 28, 2017
    41
    @vista980622 昨天没看懂 emoji 命名的梗,哈哈
    luanjia
    luanjia
    May 28, 2017 via Android
    42
    哈哈哈哈哈,不懂 iOS,但是这些建议是服气的 2333
    lsyAndroid
    lsyAndroid
    May 28, 2017 via Android
    43
    android 也能用吗?微笑脸
    BoBoy
    BoBoy
    May 28, 2017 via iPhone
    44
    @andyL 是吗?那可能你还是太年轻,年轻人犯点错,我怎么能和你计较呢。👏🏻
    yxjxx
    yxjxx
    May 28, 2017
    45
    yxjxx
    yxjxx
    May 28, 2017
    46
    信✅
    达✅
    雅❓
    oulongqi
    oulongqi
    May 28, 2017
    47
    哈哈哈哈哈哈笑死
    gongjianhui
    gongjianhui
    May 29, 2017
    48
    @livid 全文转载。
    gongjianhui
    gongjianhui
    May 29, 2017
    49
    @gongjianhui #48 呃... 好像不是
    Livid
    Livid
    MOD
    PRO
    May 29, 2017❤️1
    50
    @gongjianhui 这是楼主的二次创作。源推是全英文的。这些中文配图也是楼主自己加上的。

    作为一个曾经写过几年 iOS 的人表示很棒。
    zgqq
    zgqq
    May 29, 2017
    51
    原谅我实在找不到笑点
    smilexyk
    smilexyk
    May 30, 2017 via iPhone
    52
    我在想要是真有人按照这个来写代码怎么办……
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   689 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 20:52 · PVG 04:52 · LAX 12:52 · JFK 15:52
    ♥ Do have faith in what you're doing.