2020年02月20日19:01:13

有时候写着写着 就会陷入一种误区 最明显的就是 拦截器 if 嵌套

路由跳转 没登录跳登录 有登录则判断是否有用户信息 没有则跳用户信息获取页 有则继续执行

第一次代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 路由名称
routeName = 'singIn'

// 是否登录
if (!isSignIn) {
// 跳登录
} else {
// 是否存在用户信息
if (!isHaveUserInfo) {
// 判断路由是否跳 获取用户信息
if (routeName != 'getUserInfo') {
// 跳获取用户信息页
}
}

// next
}

第二次代码

由于觉得上面太过于繁琐 而且 if 嵌套 觉得可以写一起 就有了下面版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 路由名称
routeName = 'singIn'

// 是否登录
if (!isSignIn) {
// 跳登录
} else {
// 是否存在用户信息 和 路由是否为 获取用户信息页
if (!isHaveUserInfo && routeName != 'getUserInfo') {
// 跳获取用户信息页
}

// next
}

以后阅读

觉得注释太过于直白 单词是直接可以看出意思的 所以删掉注释

1
2
3
4
5
6
7
8
9
10
11
routeName = 'singIn'

if (!isSignIn) {

} else {
if (!isHaveUserInfo && routeName != 'getUserInfo') {

}

// next
}

所以 我这到底写的什么 运行着确实挺明确的

可是 这两个 ! 是怎么运作的

从第一次到最终 大概过了那么一小时左右

我感觉 可能写出来还好点

实际证明 好像没什么多大作用

还是很迷糊

emmmm

第三次

我又觉得 好像他完全可以写到一起

2021年05月27日18:27:13

有时候

真的 设计思路比写代码更加重要

一个需求 经过怎么样的变化 都能撑住

这是多么厉害的设计呀

说的这个有时候得想好久的 就是关于时间的查询了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$format = 'Y-m-d H:m:s';
$time = date($format);
$time_before = date($format, strtotime('- 1day'));
$time_after = date($format, strtotime('+ 1day'));

// 下来 就是判断这个时间了
// 正常想的是 $time_before < $time < $time_after
// 然后 写就成了

if ($time_after < $time && $time_before > $time) {
# code...
}]

if ($time_after < $time && $time < $time_after) {
# code...
}

// 我就在想
// 为啥没得一个 这种判断呢
// 符合人力阅读的一个写法 再不用去看这个脑中转换半天了

if ($time_after < $time < $time_after) {
# code...
}

next