程序员应该把懒作为目标

简介: 作为一个合格的程序员,应该把懒作为目标。如果你写了足够多的代码的话,就会发现有很多代码其实是重复的劳动,比如说写Android界面的时候,你会发现经常要写View view = (View) findViewById(R.id.xxxx);这样的代码频繁的时候可能一个 Activity或者 Fragment要出现十几行的 findViewById…作为程序员,这个时候应该找一些能提高效率的东西,让我们懒起来。

作为一个合格的程序员,

应该把懒作为目标。

如果你写了足够多的代码的话,
就会发现有很多代码其实是重复的劳动,

比如说写Android界面的时候,你会发现经常要写

View view = (View) findViewById(R.id.xxxx);

这样的代码

频繁的时候可能一个 Activity或者 Fragment要出现十几行的 findViewById…

作为程序员,
这个时候应该找一些能提高效率的东西,让我们懒起来。

比如说 ButerKnife,
它可以让你在开发UI的时候效率提高一倍以上。

之前那些重复的代码会变成下面这样,

@BindView(R.id.tool_inject) TextView mTvInj;
@BindView(R.id.tool_start) TextView mTvStart;
@BindView(R.id.tool_stop) TextView mTvStop;
@BindView(R.id.tool_origin) TextView mTvOrigin;
@BindView(R.id.tool_change) TextView mTvChange;
@BindView(R.id.info_device_id) EditText mInfoDeviceId;
@BindView((R.id.info_device_mac)) EditText mInfoMac;
@BindView(R.id.info_longitude) EditText mInfoLongitude;
@BindView(R.id.info_latitude) EditText mInfoLatitude;
@BindView(R.id.info_serial_num) EditText mInfoSerialNum;
@BindView(R.id.info_model) EditText mInfoModel;
@BindView(R.id.info_model_name) EditText mInfoModelName;
@BindView(R.id.info_sys_version) EditText mInfoSysV;
@BindView(R.id.info_ip) EditText mInfoIp;
@BindView(R.id.info_net_service) EditText mInfoNetServ;

是不是很整洁呢,
只要用 @BindView注解加上 id,
就可以代替原先的 findViewById,代码都少写了很多。

而在绑定事件响应的时候也很方便,
以前要用

view.setOnclickListener(new OnClickListener(){
    ....
});

现在变成了

@OnClick(R.id.view_button)
public void clickButton() {
    ....
}

甚至不需要出现具体的对象,
只需要注入 R.id就可以。

这样一来,
我们就可以专注于逻辑的开发,
而不用重复的去写一堆一样的代码,
对于程序员来说,
这才是正确的偷懒姿势。

更多Android进阶技术,面试资料系统整理分享,职业生涯规划,产品,思维,行业观察,谈天说地。可以加Android架构师群;701740775。

相关文章
|
7月前
|
测试技术
解决Bug应有的心态和解决方法的一些思路、方法和心得
永远要相信程序是不会骗你的,是自己在处理理逻辑中出问题,而在特定的环境中才会出现或者是自己压根就想不到情况下出现。 前几天在处理一个接口任务时,在测试环境跑是一点都没有,但在正式环境却没有将数据拉下来。没有报任何错误,一度怀疑、抱怨! 还好最后找到问题解决了!
33 0
|
9月前
不是工作不好找,是你真的不行
不是工作不好找,是你真的不行
|
11月前
|
Go
选择困难?试试libhunt
选择困难?试试libhunt
65 0
|
测试技术
初级软件测试面试题怎么找?提供的这两个地方你肯定用得上
最近几年,随着电子产品和互联网的蓬勃发展,各类科技公司如雨后春笋般出现,而软件公司作为科技类公司中的重要组成部分,在这支互联网大军中也占据了重要一席。因而,负责软件问题质检的软件测试岗位也逐渐成了这几年炙手可热的就业岗位之一。
107 0
|
存储 算法 安全
我用一个小小的开放设计题,干掉了40%的面试候选人
去年团队招聘需求比较大,本人参与了近百次的面试工作。今天来跟大家聊聊,面试候选人过程中,一个常见的开放类设计题目的解题思路,以及候选人的理解设计误区分析。
我用一个小小的开放设计题,干掉了40%的面试候选人
|
设计模式 缓存 前端开发
可否举例说明你在工作中是如何优化前端代码的?
可否举例说明你在工作中是如何优化前端代码的?
157 0
|
存储 Windows
明明很努力的写博客,为啥没人看?试试这些方法和工具(建议收藏)
明明很努力的写博客,为啥没人看?试试这些方法和工具(建议收藏)
231 0
明明很努力的写博客,为啥没人看?试试这些方法和工具(建议收藏)
|
移动开发 JavaScript 前端开发
Day 5: GruntJS——重复乏味的工作总会有人做(反正我不做)
我们发现了比较有趣的系列文章《30天学习30种新技术》,准备翻译,一天一篇更新,年终礼包。下面是第五天的内容。
197 0
Day 5: GruntJS——重复乏味的工作总会有人做(反正我不做)
|
数据可视化 Java 程序员
有时候,解决问题比写代码更重要!
当你手里有把锤子的时候,看所有的东西都是钉子。 有时候程序员往往会陷入为了写代码而写代码的怪圈,没有意识到代码是为了解决现实问题的。当问题有更简便的解决方案时,写代码未必就是必须。
884 0

相关实验场景

更多