作者NewSpec (新规格)
看板AndroidDev
标题Re: [问题] Res values 取名的方式
时间Tue Feb 19 20:47:50 2013
※ 引述《lovelycateye (我还想要更多力量)》之铭言:
: ※ 引述《NewSpec (新规格)》之铭言:
: : 所以其实id的命名并不需要使用前缀
: : 在id的命名上, 如果用了前缀反而会大大增加id的数量, 造成管理的麻烦
: 讲到这个其实我对layout中每个元件的id其实命名上我也是会加上前缀
: 原因其实很简单,因为我常常忘记我刚刚取的id叫啥。
: 渐渐的,我开始在只属於某个activity的layout开始也会加上前缀。
: 这样省去我回忆我刚刚取啥名字的麻烦。
: 不过需要加上id的元件数量应该是固定的,我不懂为何会增加id的数量?
: 因为我只会对需要操作的元件加上id。
举个常见的例子, 假设我现在在开发一个"不是太简单"的储存资料类型app
(例如 todo list, 记帐程式 等)
我们会有多个呈现多笔资料的页面, 呈现单笔资料详细内容的页面,
以及输入资料的页面
假设我现在有2个用以呈现"多笔资料"的页面, 那大概一定会使用ListView
如果我在这两个layout file中分别为这两个ListView的id名加上前缀
那可能就是 "@+id/a_main_list" 与 "@+id/b_main_list"
但事实上并不需要
因为这两个ListView不会同时被inflate出来并被使用
因此在这两个layout file中都只须把它们取名为 @+id/main_list 即可
看起来这似乎无关痛痒
但我之前曾经接过一个律师事务所的案子
他想把他们的业务做成一个app, 他们大概有七大业务
每个业务都有案件总览 案件细节 建立案件等功能, 而且基本上都大同小异
如果我为每个业务的每个页面ui元件都建立个别的id名
id resource很容易就超过200个了... 但是事实上根本不需要
ooo_sn_edit, xxx_sn_edit, ..., qqq_sn_edit 完全可以只用 sn_edit 一个代表
大概是这个意思@@"
: 所以增加字数可以理解,但不懂为何会增加数量还请大大开示。
: 另外其实我在不同类型的layout、drawable
: 我都开始有加前缀(类别)或甚至後缀(状态)的习惯。
: 一切只是为了方便能够一目了然,方便管理。
: 例如:
: drawable会有btn_back.xml
: drawable-mdpi和xhdpi会有btn_back_normal.9.png、btn_back_pressed.9.png
: 以上仅为我个人的命名习惯,请用力鞭我
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 36.224.228.181
1F:推 givemepass:不知道有没有误解你的意思 可是我觉得这样做会有代价的 02/20 08:13
2F:→ givemepass:你这样的前提是 两个layout必须是可以同时变化的 02/20 08:14
3F:→ givemepass:假设你A layout跟 B layout不一定资料是相同 02/20 08:15
4F:→ givemepass:哪天你改了A layout 却连B layout的资料一起改了 02/20 08:15
5F:→ givemepass:我目前也是采用lovelycateye 大所使用的方法 02/20 08:16
6F:推 lovelycateye:我觉得他讲的跟楼上你想的不太一样XD 02/20 10:20
7F:→ NewSpec:是的= = 02/20 10:21
8F:→ NewSpec:我之前也是以使用前缀的思维来做, 後来有到stackoverflow 02/20 10:22
9F:→ NewSpec:发问, 才被人点醒 02/20 10:22
10F:推 MetalChao:方便给stackoverflow的连结吗? 想看看关键在哪里 02/20 10:33
11F:推 givemepass:哈哈 那我想错了 02/20 10:33
12F:→ MetalChao:如果真的有很大的好处, 我也可以改变习惯 02/20 10:33
13F:推 lovelycateye:好处是没有多大,不过我倒觉得写一样当遇到要一起用 02/20 10:58
14F:→ lovelycateye:反而要开始改东改西,而且id多会造成问题吗? 02/20 10:59
15F:推 MetalChao:因为不清楚会有什麽的好处, 所以想请原PO给个连结来看看 02/20 11:07
17F:→ NewSpec:好处就是不需要管理太多的id = = 02/20 11:59
18F:推 lovelycateye:但缺点也如同回答的一样,这是我那种写法的优点 02/20 12:41
19F:→ lovelycateye:我在写的时候就可以知道这东西是不是这个地方该出现 02/20 12:42