优雅代码风

2017-02-17 07:30:20 语法专题 3173 0

写在前面

开发讲究代码的优雅与工作的效率。

云天河今天来稍微讲讲自己常用的"sublime text 3"的配合插件快捷的操作
请先配置node与php的环境变量

书写html

你现在要写一个div标签,并给它一个id="instance",写法如下

div#instance

然后按 ctrl + e ,生成如下

<div id="instance"></div>

同理,写个还带有class="instance int_2"的div标签

div#instance.instance.int_2

按下快捷键后的结果,如下

<div id="instance" class="instance int_2"></div>

如果要赋予标签多个属性

div[data-role='button' style='color:red']

再次按下当前快捷键,结果:

<div data-role="button" style="color:red"></div>

函数折叠

函数比较多的情况

优雅的代码

在每写完一个函数后

ctrl + k

然后

ctrl + 2  // 折叠层级2。数字代表层级

将所有函数折叠起来。

优雅的代码

显示所有已折叠部分:

ctrl + k

然后

ctrl + 0 

查看当前文件,所有函数

ctrl + r 

优雅的代码

然后鼠标左键选择即可

查询、替换

查询

sublime支持正则匹配

ctrl + f

替换

sublime支持正则替换

ctrl + h

根目录下查找文件

ctrl + g

根目录下查找文件

优雅&效率的完美结合

接收 post 数据的时候
post 过来的数据换一个清爽的名字
然后通过引用的方式把 post 过来的数据拿过来,减小单次运行内存的开销
最后用 Ctrl + F11 格式化代码

public function rule_modify()
{
    node_check();
    $post_data = Request::instance()->post();
    @Filter::is_set([
        $post_data['id'],
        $post_data['title'],
        $post_data['rule'],
        $post_data['status'],
    ]);
    $id     = &$post_data['id']; // @post: 规则号
    $title  = &$post_data['title']; // @post: 规则名
    $rule   = &$post_data['rule']; // @post: 规则内容
    $status = &$post_data['status']; // @post: 规则开启状态
    $result = Db::execute('
        Update `hlz_auth_rule`
        Set name = ? , title = ? ,  status = ?
        Where id = ?
    ', [$rule, $title, $status, $id]);
    if_modify($result);
}

关于高效地撸码

我觉得这都是习惯的问题

A.遇到稍复杂的逻辑时

身边撸码低效的小伙伴,大致为两种

这个逻辑很复杂,我怎么可能能逻辑出来呢

[结果] => 思考半天后,直接放弃

这个逻辑其实还好,我直接写代码吧,想到哪里写到哪里吧

[结果] => 耗时长,效率低

云天河的方式:

逻辑模块化

把一个比较大的任务,分解为一个个的任务点

任务意识

预估任务需要的时间,规定任务完成时间。

[超时] => 走向下一个模块,待全部处理完后,再回到未完成模块

代码思维化

[前端] => 右脑思维 => 先画草图

[后端] => 左脑思维 => 使用缩进风格,用伪码,书写某个逻辑块的大致步骤

卓有成效的程序员

注:若无特殊说明,文章均为云天河原创,请尊重作者劳动成果,转载前请一定要注明出处