V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  GoodRainChen  ›  全部回复第 3 页 / 共 5 页
回复总数  98
1  2  3  4  5  
2018-10-22 10:13:29 +08:00
回复了 merpyzf 创建的主题 Android 文件下载列表中关于 RecyclerView 中 item 频繁需要更新的问题
"然后直接在 ViewHolder 中对 item 中的 View 进行刷新"
不说别的,这个方案就可行啊
每次 bindView 的时候把 position 更新在 ViewHolder 里,根据 position 选择性监听回调就可以了
2018-10-22 09:45:19 +08:00
回复了 zealinux 创建的主题 程序员 问一下大家是不是工作都是通过微信来交流?
所以说,微信一个手机只能有一个微信号真的是罪大恶极
2018-10-01 09:22:16 +08:00
回复了 Scofieldyu 创建的主题 程序员 不会 git 的程序员
估计前面有不少简历里面写精通 git、精通 AndroidStudio 的
这种几分钟随便用用的工具就别太当一回事儿了,成熟公司都有 CodeReview 的制度,不会用 git 也不可能把主分支搞坏的,让他们自己分支上玩玩就会了
2018-09-27 19:21:19 +08:00
回复了 iacyl 创建的主题 太吾绘卷 太吾绘卷,一个神奇的游戏
这...真正的程序猿应该没几个人会全信吧。尤其是最后一张图
反编译还能看出来有没有注释吗?
2018-09-27 11:34:33 +08:00
回复了 whitepoppy 创建的主题 Android 想问问现在用 kotlin 写 android 的多吗
@icris
还是你自己去试试吧,或者是因为后面插件又跟新了?
反正我这里直接 onCreate 里面直接用 savedInstanceState.getString("")
是会提示错误的:Only safe(?.)or non-null .....
2018-09-27 11:19:19 +08:00
回复了 whitepoppy 创建的主题 Android 想问问现在用 kotlin 写 android 的多吗
@icris
唉,我打个比方,你非得揪着这个真实的方法不放,难道要我顶着安全红线把公司业务代码拿出来讨论吗?

我们纠结这个问题的原点是: [kotlin 对于类型安全等方面的限制更加严格,把简化写法带来的优势抵消了不少]
你说你代码简洁,省点时间,结果全在别的地方把省的时间又找回来了,这没多大优势啊
2018-09-27 10:52:26 +08:00
回复了 whitepoppy 创建的主题 Android 想问问现在用 kotlin 写 android 的多吗
@icris
主逻辑上的东西没必要判空,就比如 setContentView,判个空有意义吗?实际写代码都很赶时间的,这种阻塞核心流程的地方,还判空写 @NonNull,不是浪费时间吗?就算判了 null 也是个白屏死在那里,很多用户都没有杀应用这个概念,他只会觉得你有一个不可恢复 BUG
2018-09-26 21:07:33 +08:00
回复了 whitepoppy 创建的主题 Android 想问问现在用 kotlin 写 android 的多吗
@icris
由外部保证参数的合法性,否则直接崩溃反而比较好。就像有些方法判断参数合法性,不合法直接扔一个参数不合法的异常出来,直接崩了。这是很常见的一种模式。
那我再换个,不是入参,是返回值,比如 xxx.toString() 从 Java 拿过来 String!,明明可以确认这玩意儿不可能为空,还是要判空,不是给人添麻烦吗?
2018-09-26 20:53:36 +08:00
回复了 whitepoppy 创建的主题 Android 想问问现在用 kotlin 写 android 的多吗
@icris

就以 setContentView(view: View!)为例
假设这个 setContentView 是我写的,我明确知道 view 逻辑上根本不可能为 null,但是在这里被转换成了 View!类型,是不能和 View 通用的,我得加一步转换,否则每处用到这个 view 的地方都要加"?"来处理。

而在原本的 java 里,我这里不需要任何额外操作
2018-09-26 20:15:38 +08:00
回复了 whitepoppy 创建的主题 Android 想问问现在用 kotlin 写 android 的多吗
@icris
“如果看一个 x.a = 1 你不知道里面有没有计算逻辑,那么如何知道 x.setA(1); 里面有没有计算逻辑”。
x.setA(1)更接近本质,而 x.a = 1 是封装了一层的简化版本。实际工作中不关心他人代码的内部逻辑是很难的,场景很多:比如新人入职、新接手模块,又或者做 review,又或者定位问题,尤其是小团队或者小组负责人,每个人都必须对项目整体了如指掌。屏蔽越多本质上的细节,意味着越容易让人的思维被误导

第二点其实就是说到了这个 kotlin 麻烦的地方,目前 Android SDK 就是用 java 写的,kotlin 自己玩,对于空值的保护确实不错。但是带上 Java 写的 AndroidSDK,就有了不少的麻烦,两种语言之间的类型转换让事情变麻烦了

再说下去有点类似争 XX 语言天下第一了。我也觉得意义不大。

所以我再总结一下我的观点,kotlin 不坏,但是似乎没有好到顶着招聘和学习成本去强制引入它,尤其是如果其他同事不喜欢 kotlin,那更是带来内部矛盾,得不偿失
2018-09-26 18:49:08 +08:00
回复了 whitepoppy 创建的主题 Android 想问问现在用 kotlin 写 android 的多吗
@icris
首先,我没打算否认 kotlin 的代码更加简洁,有他的先进性(当然,我个人用着其实也不算太舒服,先搁置这个问题)
但是,这些便捷对于开发效率,正如我之前写的,提升没有想象中的显著。写过一段时间就会发现,kotlin 对于类型安全等方面的限制更加严格,把简化写法带来的优势抵消了不少。
相反地,便捷的语法、简化的语法糖,势必带来代码阅读需要更多的思考,哪怕你觉得微不足道,但是积累起来也是影响效率的。毕竟你看代码思考要转个弯,没有 java 那么傻瓜(直白)。举个例子,B.setXXX(A) 简化成 B.XXX = A,代码上 set 改成了=,省不了两个字符,但是屏蔽了 setXXX 是个 method 的事实,也许别人就在这个 setXXX 里做了计算逻辑,你看代码的时候很容易不小心漏过去。这只是个例子,你可能有办法反驳我,但是我希望我的意思能传达到
2018-09-26 16:34:48 +08:00
回复了 whitepoppy 创建的主题 Android 想问问现在用 kotlin 写 android 的多吗
之前公司用过一段时间,然后慢慢又用回 java 了...没有任何原因,就大家不约而同
没发现有什么本质上的优势,写代码最花时间的还是思考,而不是打字
各位还是普遍在年轻的奋斗热血期啊
我大概比较懒吧,只想过普通人的日子,并没有很想创业或者当什么大佬,我这种人就必须被社会淘汰吗?
@vazo
这还真不是,大公司按工作年限定级,不到这个定级的能力就不要
比如有个人工作 20 年,P7 的能力,但是加班不太行,只想要 P6 的工资,对不起,不可能。
你 20 年的工作,想进来就必须得 P8 的能力,接 P8 的岗位。P7 都不存在,别说 P6 了。现实如此,非常无奈的
权限混乱产品和程序猿各背一半锅吧
写 APP 的经常是权限只加不减,功能废弃了也不会想起来把相应地权限干掉
但是权限申请的来源往往是产品,看到什么功能都想抄一个,还有各种用户行为记录,甚至窃取隐私,那都是产品要求的
2018-09-12 11:04:55 +08:00
回复了 iloveyouso 创建的主题 程序员 你们会在代码里面带粗话吗?
正常逻辑不会进入的分支,会打印 log.wtf
what the fuck?
2018-09-05 11:44:21 +08:00
回复了 stage37 创建的主题 程序员 知道华为的收入后震惊了
@jedihy
我也就两年多不在,变化这么大了吗?
我们整个部门写代码的加起来也没有一个 17 级的。17 级都是写胶片的了。
你这四年标准有点高啊
2018-09-05 11:06:40 +08:00
回复了 stage37 创建的主题 程序员 知道华为的收入后震惊了
@zclHIT
是 SP 吧?我们那年硕士就比本科多一千块,都是 13
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1073 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 19:43 · PVG 03:43 · LAX 11:43 · JFK 14:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.