写出优美代码的方式,两个习惯:一步到位VS迭代优化

最近把手头这个安卓APP的所有事务性方法都写完了,有了以下体会,新手体会,老鸟轻拍

想写成优美代码的人一般都会有这样的想法:

一定要在写每一句代码,写每一个方法,构造每一个类的时候,都要记得优化:解耦以复用,拆分方法以复用,使用循环减少冗余,限制循环次数减少无效操作,等等。。

这个想法一定没有错,但很多时候往往会是这样的情况:

  1. 当功能一复杂,比如你已经分解了几个方法,比如你已经使用了几层循环(有点过分...),比如在多线程中
  2. 你经常无法一步到位地完成那么多优化
  3. 这往往造成你写一句代码会思考很久

当然,这样并没有不好,想好再写能减少很多无用功,即使想很久但总的花时间更少,是很多高手提倡的方式

但对于一个普通人来说,你往往需要意识到由于你思考能力的限制,很多优化的方式在写完整个方法之后会更容易发现 ,所以两种写代码的方式在时间上会有这么一个平衡点:一步到位写出完美代码需要的时间 == 先快速写出功能,再修改优化需要的时间

所以你需要在平时的写代码过程中体会你的这个平衡点在哪里,然后根据实际情况,选择其中一种方式写

而当你不得不选择后者的时候,这样的具体步骤是推荐的:只需要尽量保证不要出BUG的严谨,同时记下要优化的地方,然后先把功能写出来,之后如果有机会,再回过头来优化

上面说的是时间(效率)维度,在这个维度上两种方式有一个平衡点

另外还有一个维度,就是能力锻炼的维度,在这个维度上一步到位肯定是完胜过迭代优化

话就说到这里,最后你要怎么把我你的平衡点,就是你自己的事了!

时间: 2024-08-24 11:45:03

写出优美代码的方式,两个习惯:一步到位VS迭代优化的相关文章

代码规范、如何写出好代码

代码规范.如何写出好代码 作为一个程序员,肯定希望能写出一手好代码,看起来赏心悦目,又易于理解.既方便日后自己回来翻阅一眼就能明白代码在干什么,又能让接手的人很快上手,看到精妙的地方,不由自主地发出由衷的感叹,悄无声息地改变别人不好的习惯. 如何才能写出好代码呢?在一次讲座上,我听了一位编程大神的看法,在这里分享给大家. 好的代码应该至少具备下面这6个特点: 使用空行来分割逻辑 使用注释和花括号 不用的代码和引用删除 不要用中文拼音做变量名 可用,清晰优雅,高效 多写代码,多思考 使用空行来分割

如何写出优美的代码——小体会1

1.不要把业务逻辑和非业务逻辑混合 多思考一下,尽量不要有错误的逻辑,和漏掉的情形 常见的逻辑: (1)字符串的为空判断 if(s == null || s.length() <= 0); 如果 String 类型为null, 而去进行 equals(String) 或 length() 等操作会抛出java.lang.NullPointerException. (2)对象是否为空判断 public static boolean isNullOrEmpty(Object obj) { if (o

如何优雅的写出链表代码

理解指针或引用的含义 含义: 将某个变量(对象)赋值给指针(引用),实际上就是就是将这个变量(对象)的地址赋值给指针(引用). 示例: p—>next = q; 表示p节点的后继指针存储了q节点的内存地址. p—>next = p—>next—>next; 表示p节点的后继指针存储了p节点的下下个节点的内存地址. 警惕指针丢失和内存泄漏(单链表) 1.插入节点 在节点a和节点b之间插入节点x,b是a的下一节点,,p指针指向节点a,则造成指针丢失和内存泄漏的代码:p—>next

你还用拼音为变量命名?新人OIer别傻了,教你写出优质代码

本篇文章适用语言:python,c++,Java.(其实我就是随便bb) 我们在编辑代码的时候,不免拿其他人的代码进行学习,或者将自己的代码拿给别人修改.这个时候,如何让别人快速读懂你的代码,是提升效率的关键,而且一个好的码风可以让自己读起来也赏心悦目.那么接下来我就会对这一部分进行讲解. 变量命名 我将码风分为两个部分,变量命名和代码书写. 变量命名当中,最最最最恶心的一点就是拿拼音来为变量命名,你拿x,y,z都好过.什么书本的数量用"shuben",你是小学没学过吗?我幼儿园都会&

finally中调用unlockWrite对写出健壮代码是很重要的

一般用于某张表的补充,比如用户基本信息是一张表,但并非每一个用户都需要有登录的权限,不需要记录用户名和密码,此时,合理的做法就是新建一张记录登录信息的表,与用户信息进行一对一的关联,可以方便的从子表查询母表信息或反向查询 外键:有很多的应用场景,比如每个员工归属于一个部门,那么就可以让员工表的部门字段与部门表进行一对多关联,可以查询到一个员工归属于哪个部门,也可反向查出某一部门有哪些员工 如果某个线程想要读取资源,只要没有线程正在对该资源进行写操作且没有线程请求对该资源的写操作即可.我们假设对写

理解SQL原理,写出高效代码

做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,数据量大,人员流动大,那么我们还能保证下一段时间系统还能流畅的运行吗?我们还能保证下一个人能看懂我们的存储过程吗?(顺便打一下广告,我们也做ERP,欢迎联系咨询) 要知道sql语句,我想我们有必要知道sqlserver查询分析器怎么执行sql语句的,很多人会看执行计划,或者用profile来监视和调优查询语句或者存储过程慢的原因,但是如果我们知道查询分析器的执行逻辑顺序.平时大家多

如何写出优美的函数?(附:三种最常用的命令规则)

一 稳定 1 参数检测 2 内存释放后要置空为NULL 3 if语句始终有else分支 4 switch语句始终有default分支,每个case都有break,共用分支需要给出说明 5 尽可能少的写return,最好只在函数结尾处有一个return 6 三元运算符每一部分都加上括号 7 if-else,switch-case中分支要有大括号{} 二 可读 1 注释,一般包括:功能描述,参数解释,修改记录(修改时间,修改人,修改内容描述) 2 函数名:有意义的动宾短语,驼峰式命令 3 长语句分行

导致程序员写出烂代码的35个恶习,看看你染上了几个?

IT行业的科技公司们一直苦苦追寻传说中以一当十的超级程序员,最新的研究表明确实存在这样一小撮效率奇高的"程序金刚",但是一位普通程序猿如何能够蜕变成代码金刚呢? 国内外的各大专家总结了导致程序猿效率低下,代码为什么像坨shi一,样难以维护的35条恶习(归为代码组织.团队工作.写代码.测试与维护四大类). 代码组织 1.总是说"一会弄好",但从来不兑现.(缺乏任务管理和时间管理能力) 2.坚持所谓的高效.优雅的"一行代码流",事实上,可读性才是最重

? 按照所给的程序流程图,写出Java代码(用类和方法实现)

代码为:package com.lwk.test2; 主类: import java.util.Scanner; package com.lwk.test2; public class Demo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Test test = new Test(); test.test(); } } 方法类: package