Fork me on GitHub

程序员偷偷深爱的9个不良编程习惯

哈哈,这篇文章还是非常能说明问题的,实际开发中必须要注意的地方!
下面这9个编码习惯,虽然在编程规则中是被驳斥的,但我们很多人就是会不由自主地使用它们。
我们曾经都做过这样的事情:当妈妈不注意的时候,偷偷地吃糖果零食,然后导致有了蛀牙。同样的,我们都违背过一些编程的基本规则,并且都会坚定地表示这种行为是不可取的。但我们就是偷偷爱着这些不良的编程习惯。

我们对所谓的编程规则嗤之以鼻,输出的代码也很糟糕——但我们依然活着。编程上帝没有下闪电劈死我们,我们的电脑也没有爆炸。事实上,只要我们能编译和发布代码,客户似乎就很满意了。

这是因为糟糕的编程不像安装电路或者摸老虎屁股那样有直接的危害性。大多数时间里它也是可以工作的。规则通常是作为一种指导或格式上的建议,并没有硬性规定一定要遵守,也不会导致代码马上死掉。当然,你的代码可能会被人耻笑,甚至可能大家公开嘲笑你,不过,这种挑战惯例的行为可以让人增加一点颠覆传统的快感,哪怕是在不经意间。

为了让问题变得更加复杂,有时候违反规则反而更好。(一般人我不告诉他!)出来的代码会更干净,甚至可能会更快和更简单。规则通常显得太过于宽泛,有技巧的程序员可以通过打破这些规则来提高代码。不要告诉你的老板,这对你的编码生涯会很有意义。

下面这9个编码习惯,虽然在编程规则中是被驳斥的,但我们很多人就是会不由自主地使用它们。

阅读更多...

JVM内存配置参数说明

JVM内存划分

Xms -Xmx分别设置堆的最小值和最大值,如果要设置成堆的大小可变,那么可以将最大值和最小值设置成不一样,如果要将堆大小固定,那么只需将最大值和最小值设置成一样的就行。
jvm中分为堆和方法区,堆又进一步分为新生代和老年代。方法区为永久代,堆中区分的新生代和老年代是为了垃圾回收,新生代中的对象存活期一般不长,而老年代中的对象存活期较长,所以当垃圾回收器回收内存时,新生代中垃圾回收效果较好,会回收大量的内存,而老年代中回收效果较差,内存回收不会太多。

阅读更多...

网页启动本地Activity

前言

Intent这个类在开发中是很常用的类,代表了着一个意图(获取理解为目标、目的),首先我们需要明确一点的就是:任何一个浏览器链接都是一个隐式意图,打开一个浏览器的方式无非就是显式意图和隐式意图,所以我们配置过滤器即可!

阅读更多...

Ajax异步请求与JSON数据格式

百度的预搜索是怎么实现的呢?如下图:

mark
这个场景应该是大家非常熟悉的吧,为什么我们没有点击搜索但是却可以弹出相关的搜索内容条目呢?其中就用到了ajax引擎!接下来我们就可以看一下这个ajax,哈哈!

一、Ajax概述

什么是同步,什么是异步

同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待卡死状态
异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随 意做其他事情,不会被卡死

Ajax的运行原理

页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到 服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回 给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面功能。

阅读更多...

忍受简单的能力

我关上灯,对女儿说:「闭上眼睛,别乱动了。」

女儿立刻大声抗议:「可是我睡不着!」

我只好又强调了一遍:「我只是请你闭上眼睛,别乱动。」

我从来没说过「请你尽快睡着」,那是我女儿的脑补。我当然挺高兴的,她能脑补出那句话来,说明她起码脑子不笨,能够猜到一个指令之后的真实意图。但同时我也有担心。因为这一点聪明,她入睡可能就会困难一点。「闭上眼睛,别乱动」是一条很简单的指令,是我认为她充分有能力做到的。但她不安于这条指令,而去考虑「即便我照着做了,我可能还是睡不着」。这样的思考,对当下有害无益。

阅读更多...

下载中文文件乱码解决方式

关于编码的问题有几点需要说清楚:UTF-8国际编码,GBK中文编码。GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立;这个道理很简单,计算机存储的是010001010010…这种的数据,也只能存储这样的数据,通过二进制的规则可以解析为数字,如2二进制就是10,这也就意味着任意数字在有限存储位的情况下都可表示为010101…这样的数据,老外的文字就是26个字母,我们假想为分别对应1~26,但是却不是这样的,真正的对应关系就是ASCII码表中的关系,但是如何表示汉字呢?很显然也需要一套对应的码表,于是UTF-8、GBK、GB2312这些编码方式就是为了解决这个问题的。

阅读更多...

Linux权限与重要目录

权限问题

字母简写说明

简称 含义
u user (文件的拥有者)
g group (文件所属组)
o other (其他用户)
a all (所有用户)

Linux进入目录需要的权限

对user需要rwx权限,对group需要rx权限,对other需要rx权限;

在目录中执行touch、ls、 rm、 mv需要的权限

touch: 对所有者需要rw权限,对所有者所在组需要r权限,对其他用户需要r权限;
ls: 都需要r权限
rm: 都需要w权限
mv: 都需要w权限

结论

读权限:对文件具有读取文件内容的权限、对文件目录具有浏览目录信息的权限
写权限:对文件具有修改文件内容的权限、对文件目录具有移动删除目录信息的权限
执行权限:对文件具有执行文件的权限、对文件目录具有进入目录的权限

阅读更多...
  • © 2018-2020 changlin zou
    • Page View:
    • Unique Visitor:

请我喝杯咖啡吧~

支付宝
微信