如何编写垃圾代码 - Android

逆变潮汐
• 阅读 946

前言

人生得意须尽欢,莫使金樽空对月。 我们从小就有许多规则要求着做事思考,也常有人在耳边说应该这么做应该这么说。而自己内心最真实想法和观点慢慢都被磨灭,只留下了一副没有主见躯壳。不应该就这样沉寂,要大胆的去尝试未知。写代码也一样,都说我们程序员闷、话少,其实我们只是把想说的话用代码进行了表达。所以写代码就要随心所欲。关注本专栏可以把你的奇思妙想代码或者语句留在评论区或Star Github:

Github:https://github.com/blindmonk/ShitCode

类和资源文件命名一定要随心所欲

💩 相信你一定对类的命名有过苦恼,我们应该减少这种烦恼保护我们的头发👷

Good 👍🏻

open class caoxian666 { /*……*/ }

Bad 👎🏻

open class DeclarationProcessor { /*……*/ }

任何时候都不要写注释

💩 反正没人会读你的代码,应该会有人让你修电脑💻

Good 👍🏻

var niubi = 9527

Bad 👎🏻

// 666是根据网络名句得出:宁睡曹县一张床,不买上海一套房
// @查看: <新闻介绍>
var caoxian = 666;

函数和变量命名一定要操纵自如

💩 我们应该减少对命名的思考,这样就会有更多时间去思考代码逻辑等问题🍺

Good 👍🏻

fun caozongziru() { /*……*/ }
var abc = 1

Bad 👎🏻

fun initializeView() { /*……*/ }
var pageSize = 20

尽最大努力把代码写成一行

💩 许多人都有一目十行的能力,写成一行可以大大提高阅读代码的效率🤘

Good 👍🏻

AlertDialog.Builder(context).setView(0).setTitle(R.string.dialog_title).setMessage(R.string.dialog_message).setIcon(0) .create()

Bad 👎🏻

AlertDialog.Builder(context)
            .setView(0)
            .setTitle(R.string.dialog_title)
            .setMessage(R.string.dialog_message)
            .setIcon(0)
            .create()

UI布局中的控件一定要密密麻麻

💩 UI布局中控件嵌套应越多越多,这样才能体现自己的逻辑思考能力⛲

Good 👍🏻

<RelativeLayout>
 <LinearLayout>
  <RelativeLayout>
   <ImageView/>
    ...
   <TextView/>
  </RelativeLayout>
 </LinearLayout>
</RelativeLayout>

Bad 👎🏻

<android.support.constraint.ConstraintLayout>
 <ImageView/>
  ...
 <TextView/>
</android.support.constraint.ConstraintLayout>

编写你不会使用的代码

💩 做人要未雨绸缪,写代码也是一样,要编写自己不使用的代码为未来做打算📬

Good 👍🏻

fun countPrimes(n:Int,count:Int): Int {
    var sum  = 9527;
    return n + count;
}

Bad 👎🏻

fun countPrimes(n:Int,count:Int): Int {
    return n + count;
}

写代码应深谋远虑

💩 不做没有把我的事情,也不写没有把握的代码。不要忘记编写自己的B计划🛀

Good 👍🏻

fun countPrimes(n: Int): Int {
    if (n < 0) {
        return -1
    } else {
        return n + 666;
    }
    //我的B计划
    return 0;
}

Bad 👎🏻

fun countPrimes(n: Int): Int {
    return if (n < 0) {
       -1
    } else {
       n + 666;
    }
}

不用关心异常错误

💩 一切都在掌握之中,即使捕获了异常也不需要上报,因为你不一定能解决它🎃

Good 👍🏻

try {
   ...
}catch (e: SomeException) {
   //caoxian666...
}

Bad 👎🏻

try {
   ...
}catch (e: Exception) {
    reportedException(e)
}

简洁明了的编写代码

💩 傻瓜都能写出能让机器理解的代码,而优秀的程序员才能写出让傻瓜理解的代码

Good 👍🏻

fun getTomorrowDate(): DateTime {
    Thread.Sleep(24 * 60 * 60 * 1000)
    return DateTime.Now
}

如何编写垃圾代码 - Android

点赞
收藏
评论区
推荐文章
列举一些糟糕的PHP代码
10例糟糕的PHP代码10例糟糕的PHP代码这篇文章在很早以前就看到了,由于最近要自己做一些主题方面的东西,代码需要更加规范,用这些反面的例子来约束自己,告诉自己代码不应该这样写,虽然它也能实现功能,但那样做并不明智,
红橙Darren 红橙Darren
4年前
Android Studio插件开发之 - 基础入门篇
1.概述上一期我们已经。如何才能像ButterKnife一样自动给我们生成代码呢?所以我们不得不去了解AndroidStudio的插件开发了。我们在开发的过程中对AndroidStudio的插件应该并不陌生,我们也时常用到比如:  :现在大多数服务端api都以json数据格式返回,而客户端需要根据api接口生成相应的实体类,这个插件把这个过程自动
Wesley13 Wesley13
3年前
Java Formatter 心得
导言阅读javautil包的源码的时候,忽然发现了,一个格式化类的使用,看完以后,发现,以前写代码太没有思考了,copy过来就来用,其实,如果,只是多了解一点的话,也算是给自己多一种方式.一个简单的例子question1我要输出一个当前时间的年月日时间格式的字符串<br/2013042822:20:12
Stella981 Stella981
3年前
Android笔记五
intent最主要的特点是它是一个用户概念。像所有其它ANDROID概念一样,不能从系统的角度去理解它。应该从用户的角度去理解它。意思是,当我们要解释某一个东西的时候,不是说,这个在系统中的功能是......而是说,这个是......换句话说,既然是Android,自然要说“人”话。intent另一个特点是它的内涵:意图,意欲。意思是,它所表达的全部就只
Wesley13 Wesley13
3年前
EL、JSTL
一、EL、JSTL  首先我们要明白为什么要使用EL(ExpressionLanguage表达式语言)、JSTL(JSPStandardTagLibraryJSP标准标签库),jsp页面完全可以用java代码取代他们,也就是说本来是可以没有这两种技术的,但是我们实际开发中,有一个原则:页面中不应该出现java代码。因为满篇的<%%和jav
Stella981 Stella981
3年前
Android驱动学习
在给Android添加新的驱动后,app要如何使用呢?正常的使用一个设备,需要getService。但是像LED等我们自己添加的硬件驱动,Android源代码根本没有我们自己添加的服务。第一种:我们自己的创建的硬件设备驱动的类是被系统定义为了隐藏类,那么在Android系统中如何使用隐藏类呢?为此我们可以根据android的编译过程可以看到我们添
Wesley13 Wesley13
3年前
JAVA的思考01
人类一思考,上帝就发笑。但是人类不会因为上帝发笑就停止了思考,不是说命运在自己手里吗,那干脆让上帝去他妈的。好吧,那思考是什么?思考是因为我们人类有事情要解决,所以我们要考虑考虑......那么,开始我们的思考吧。 当小老板还是当大老板?首先,请原谅我问这么个貌似世俗的问题,我也知道钱不是万能的,但还是那句套话:没有钱是万万不
Stella981 Stella981
3年前
GIt——怎样克隆远程仓库到本地(敲详细)
  克隆远程仓库,说得容易理解的话就是下载网上的东西到本地。步骤还是比较简单,之前我尝试过用SourceTree,我去那是真的麻烦,用可视化软件还不如自己敲代码,反正代码也不难,就一句话而已!步骤1.首先你打开你要克隆的远程仓库。!在这里插入图片描述(https://imgblog.csdnimg.cn/20200916
Stella981 Stella981
3年前
Linux内核源码分析方法
一、内核源码之我见Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次。如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径。我们都知道,想成为优秀的程序员,需要大量的实践和代码的编写。编程固然重要,但是往往只编程的人很容易把自己局限在自己的知识领域内。如果要扩展自己知识的广度,我们需要多
陈哥聊测试 陈哥聊测试
10个月前
还不知道这个原则的程序员,要小心了
来了禅道以后才发现,其实小公司也应该有自己的代码规范。大家如果对禅道的代码规范感兴趣的话,下篇文章将会详细介绍。