《过去时代的手艺人为能在他们的作品上签名而自豪。你也应该如此!》
《如果你不在乎能否漂亮的开发出软件,你又为何要耗费生命去开发软件呢?》
《谢谢你们, 让我梦想!》
迷茫期总结 -> 2019.3.3-5.17 周五 09:51 小雨
不知不觉已经过了 2 个多月, 这个阶段很是迷茫, 遇见错的人, 志向不同的人, 心力已经很痛苦了。以后一定不要再再这些人身上浪费半毛钱时间了。
周总结 -> 2019.2.25-3.3 周日 00:08 阴转晴
代码方面略为长进, 能站在略高的层面去考虑问题, 而不是仅限于当前语言。过去有种,不识庐山真面目,只缘身在此山中。现在已经能跳出庐山,从局外人的角度去忖度代码。
长进:
编写代码之前会先思考/设计这段代码的主要目的,当没有想通目的时候,不会动手。这种方式从长远来看,是最高效的方式。虽然前期会浪费很多时间。
-
利用伪代码编程过程, 去写代码。流程如下:
- 设计子程序
- 编写子程序代码
- 检查代码
- 收尾工作
- 按照需求重复上述步骤
利用表驱动法, 去优化 if 条件, 还是不够熟练。勤加练习
加强训练:
- 对代码的整体节奏要把控住。优先做最重要的事。以一天为一个节点。
2019.3.2 周六 09:10 阴
- 先决条件: 执行一段代码前必须成立的条件
2019.2.28 周四 09:20 晴
- 迭代是重复反馈过程的活动, 其目的通常是为了逼近所需目标或结果。
- 软件工程的诀窍在于, 在早期开发阶段的迭代过程中, 需要快速地构建尽量多的东西, 之后丢弃之也不会花费多大代价。
- 放之四海而皆准: 比喻具有普遍性的真理到处都适用。
- 不要盲目跟风, 而应适用一种混合的方法。可用激动人心的最新方法做做试验,但仍扎根于传统的可靠的方法。
- 如果没有充分了解问题就定下解决方法,说明你还不够成熟。
- 工程学的规则之一就是权衡各种技术。如果早早将自己的选择限制在单一工具上,就无法做出权衡。
- 软件开发中的试验是为了验证某种方法是否可行,只要它解决了问题,就算成功了。
- 编程的主要目的之一是管理复杂性
- 编程几乎是纯粹的智力活动
- 一旦有机会重新审视你的程序,就要用自己的全部所学去改进它。
- 重构规则1. 参数过多的函数2. 代码重复3. 冗长的函数4. 嵌套过深的 if5. 内聚性太差,与类不相关的东西应该去除6. 过多的使用基本数据类型7. 子程序名字不恰当, 如果看到某个子程序名字有问题,就应该立刻修改,拖到以后会让你更心烦。8. 注释被用于解释难懂的代码,不要为拙劣的代码编写文档,应当重写代码。
2019.2.27 周三 09:31 阴转晴
- 有效编程中最重要的工作是思考,而人思考时通常不会看上去很忙。
- 当你受到挫折时, 如果这种方法三十分钟内还不解决问题,我就会花十分钟想些其他办法,再用一个钟头尝试最可行的办法。
- 基础知识变化的很慢,即使比你晚毕业10年的人,他所学的基础知识还和你那时学的一模一样。
- 软件行业 经验 < 书本的价值
- 如果程序员前一两年没有学好 C 语言,那么再加三年也没有意义
- 软件行业,任何人放松下来就很快跟不上形势。为了让自己有用,你必须紧跟潮流。
- 如果你工作10年,你会得到10年经验还是1年经验的 10 次重复?必须检讨自己的行为,才能获得真正的经验。只有坚持不懈的学习,才能获取经验。如果不这样做,就无法获得经验,无论你工作多少年。
- 让脑袋始终保持清醒的状态去编程
- 要培养先写伪代码,再改用实际代码
- 编译前认真检查代码的习惯。
- 以新习惯来替代老习惯
- 如果你能抽出少量时间阅读和学习编程知识,要不了多久就能鹤立鸡群了。
- 抽象: 从具体事物抽出、概况出它们的共同的方面、本质属性与关系等,而将个别的、非本质的方面、属性与关系舍弃,这种思维过程,称为抽象
- 如果在格式编排,循环、变量命名、建模表示法等方面有统一的考虑,就能将精力集中于更具挑战性的编码问题上。
- 武断: 原指以权势断定是非曲折,后指完全凭自己的想象作决定。
- 桎梏: 脚镣和手铐。比喻束缚人的东西。
- 重申: 在原有基础上进行强调
- 我想对严肃的程序员说的话就是: 要花工作时间的一部分来检讨和提炼自己的方法。即使程序员总是奋力赶进度,或者满足最后期限的要求,对方法的抽象是更明智的长远投资。
- 行之有效的开发过程是在开始时粗调,后来再进行精调。
- 如果遵照写伪代码再对其填充代码的步骤,就能享受到 自上而下 设计好处。
2019.2.26 周二 10:12 阴转晴
- 因素=>条件
- 子程序=>函数
- 经济 => 创造、转化、实现价值
- 总以一个行业的深度去观察其他行业,你很快就会发现规律。凌驾于技术之上的是思想。凌驾于所有学科之上的是政治。
- 深思熟虑 => 深入地反复的考虑
2019.2.25 周一 14:31 晴
- 判断某个数是否是整数 parseInt(val, 10) === val
- 使用了直接访问表方式定义了 URL 地址
- 获取当天的 0时, 0分, 0秒 setHours(0), setM(0), setS(0)
2019.2.24 周日 17:17 晴
- 当事情越来越复杂的时候, 应该剥离事情本质, 逐层向外分析。
2019.2.22 周五 15:34 阴
- 事情要一件一件做完。不要穿插做。
2019.2.21 周四 13:17 晴
- 使用 if 语句优化1. 利用布尔函数调用简化复杂的检测2. 确保所有情况都考虑到: 写一个放在最后的 else 子句, 用出错消息或者断言来捕捉那些你不考虑的情况。3. 把 val >= 18.5 && val < 23.9 改成 18.5 <= val && val < 23.9 这样看起来更顺
2019.2.20 周三 11:57 晴
- templet: '{{ d.LAY_TABLE_INDEX+1 }}' 显示序列
- ajax status 修改
周总结 -> 2019.2.12-2.19 周日 23:12 晴
- 《代码整洁之道》读了一半, 读不下去了。已经忘记了最初的初衷。很遗憾。
- 优化了 if 语句 策略模式
- 全局变量的应用
- 硬编码改成好理解的方式
2019.2.19 周二 16:17 晴
Vue 项目, 拷贝项目->另外一个文件夹->报错 post -> 再根目录新建一个文件 postcss.config.js
Vue 暂无数据显示, 定义一个变量, isDomLoad = false, 当数据加载完毕之后, isDomLoad = true, list.length === 0 && isDomLoad
2019.2.18 周一 13:14 阴转小雪
用 SERVICE_PACKAGE_COMPLETED、SERVICE_PACKAGE_NOT_STARTED、SERVICE_PACKAGE_UNDER_WAY 替代了 1、2、3 等状态。
现在突然感悟到, 调接口拿数据, 再写样式, 不就跟直接静态文案, 在写样式是一样的吗?这么简单的道理。只是我把拿接口的数据想复杂了。(接口数据 : 静态数据)
2019.2.14 周四 18:37 阴转雪
莫名的暴躁, 做事不能一次做两件。老是分心。
使用全局变量 layer_indexTemp = {} 来存放统一存放数据
layer 放大图片, 发现三处重复代码, 未抽取, 还有弹窗有5处重复。
wap 打包开发服、测试服地址错误, 耽搁了好久, 最后发现是 vue 里面的 process.nev.NODE_ENV 打包后就变成产品了, 为打包是 development
2019.2.13 周三 16:52 晴转阴
layer._indexTemp = layer._indexTemp || {};layer._indexTemp[‘selectInTable’] = layer.open(); 使用一个对象, 保存所有弹窗, 相当于所有弹窗的下标 index, 全部都放到一个全局变量中。
解决请求缓存问题: 问题原因: 如果每次请求参数都是一样的话, 浏览器会默认缓存。解决方法: 让请求参数每一次都不一样, 就可以解决了, 比如添加一个时间戳参数, 比如: ‘id=id&time=’+new Date().valudOf()
2019.2.12 周二 22:07 阴
读《高效前端》JS 优化篇1. 避免全局耦合 的三种方式(form、全局数据结构, 单一数据向下传递方式)2. 通过 css 类来控制样式3. 去重复的思路: 出现重复代码(函数)->一个函数->一个模块->一个插件
使用了 策略模式 优化了 if…else if…else if…else 方式 => model[d.status];
《语言精粹》对象篇 深入理解了 引用类型总结: 1.凌驾于语言之上的是思想。那些伟大的思想。不管形怎么变, 思想始终不变。其他同理。如果有一天, 解决了某个问题, 正好与大师的思想进行了碰撞, 何尝不是一件令人欣慰的事。哈哈~2. 现在读书只谈体会, 不会太多的去用笨方法。3. 一本书连续读3遍, 不如2本书交叉去读效果更好。
2019.2.3-2.11 周一 23:23 (春节假期总结) 晴
长进:
已把常用的代码, 抽取成公用的库, 以提升开发效率
假期看完了《编写可测试的JavaScript》整书圈点完毕, 《高效前端》圈点第一章, 《语言精粹》对象篇, 圈点完毕。layui table 已经抽取公共组件库。layim 使用了一次(源码并未开始看)
采用曾国藩的读书法, 读新书要求速, 看完之后, 熟读一两章就好了, 等下一次在温书。
死守一本经典书, 不断的温他, 以达到深入理解, 然后在攻其他。
2019.2.7 周四 17:40 晴 有风(初三)
- 封装了 layui-table 组件的一些常用的方法, 以提升效率
- async 异步参数
- toolbar 工具条操作
- templet 的三种方式 字符串、script、function
- on 事件监听
- resize 重置表格
- checkStatus 复选框
- set 全局默认参数
- init 转换静态表格
- reload 表格重载
- render 表格渲染
2019.2.6 周三 23:45 晴转小雨 (初二)
毛玻璃效果
环形文字
写了一个起点样式, 并把 毛玻璃 和 环形文字抽取成可复用代码块
2019.2.4 周一 09:25 晴 (除夕)
渲染 table 一定要先把数据都渲染出来, 然后在调整样式
初始化表格 table.init()
lay page 可以自定义分页 layout(Array)
table.checkStatus(‘id’) 检查复选框
周总结 -> 2019.1.27-2019.2.3 23: 19 周日 晴
先走完大方向, 细枝末叶留后面处理。这样不容易分心。
这周的计划已经完成, layui-table, utils 灵活使用, 《语言精粹》, 函数章节读的还不是很熟, 看来要用笨方法了(背代码)。
最近长进不是很多, 可能是使用别人的插件, 只在于形的层面。没有学习源代码长进快。
2019.2.2 周六 16:57 阴转小雨
text: Object 设置 table 无数据的文本
parseData: { count: xxx } 设置总条数
带签名的表格解决方案: 不要使用表格自带的分页, 自己定义个分页。使用表格重载。
2019.2.1 周五 16:17 晴
layer.tips(); layer.tips(content, follow, options) 内容、在哪个元素下面出现、选择参数
layer 自定义皮肤
2019.1.31 周三 22:47 晴
- 理顺了 table 渲染数据的流程, 并写了一个增删改查绑定容器->调用接口->渲染列->改变request(请求分页)->parseData(转换数据)->response(响应数据)
长进点:
- 使用 templet 函数的方式, 调用了内部的函数
- table 命名规范 id=‘xxx’ lay-filter=‘xxxF’ toolbar=‘xxxT’
- 绑定 tool 事件不要放在 table done 回调中, 因为每一次翻页都会调用一次 done, 最好写在最外面(只会去绑定一次)
- 一定要先走完主线程, 然后在考虑样式, 这样就不容易分心。
2019.1.29 周二 13:04 小雨
- 使用 var 声明变量, 在下面引用时, 必须提前声明。
- 调试 增删改 操作时候, 应该提前模拟一下。要不数据没有了,你还得添加。
周总结 -> 2019.1.21-1.27 周日 21:19 晴
长进:
由原来的横向写代码, 变成竖向写。比如: 请求接口, 原来是请求一个接口写一个, 现在是一次请求完所有接口。
循环中, 每次 push 对象的时候, 一定要在循环中创建对象
new Date(‘2000012312312’), 不要使用 字符串 类型的时间戳, 要是 Number 类型的
遇到读不懂的代码, 会试图去调试
创建过的对象, 不需要重复再去创建。可以用 if 去判断该对象是否存在。
二分法优化多条 if 语句。
要让两个时间戳一致, 必须两个时间引用一个变量
改进:
不能保持专注, 需要提升
不能暴躁, 就算压力再大, 也不要对人发泄, 伤人家的心
心勤
2019.1.26 周六 10:15 晴
最近脾气有点暴躁。所有事情都被困住。
一堆 bug,又被别人冷嘲热讽。一定要撑住。挺过去,过段时间就好了。
一定要每一天都很开心。这样的人生才有意义。
我发现我不能求速了,一个知识点,至少要练习一个星期。
我只能专注于一件事。专注一件事。
2019.1.25 周五 10:09 阴
- 签名接口与调用的接口, 时间戳不一致。解决办法, 把接口的时间戳定义成变量,保持一致。
2019.1.24 周四 10:35 晴
越到紧要关头, 越要保持冷静。强行关闭六根。这次一次调试6个接口。一下调完。又TM进步了。。。哈哈哈
讲真,领导不能身先士卒,凭什么要我们给你卖命?
必须时刻跟随公司的项目, 再有余力便做自己的项目。看书是必须每天都要看。不多读人就傻了。
明天上线。MD。写的一点都不满意。哎。好事真耐磨。耐之耐之。
每次都剩下我一个人。空旷的房间安安静静。几处车声消逝而过清清楚楚。以爱之名,走走停停。
晚上细细思考, 我写的程序中,每个创建的对象,都是有血有肉有灵魂,又附有强大的能力。那该有多好!
长进: 这次看书, 光看代码, 不看内容描述,不断简化思路。
2019.1.23 09: 02 周三 晴
遍历数组, 拼接对象数据的时候, 一定要在 循环 中创建新对象。
new Date('1480897882000'); 这样创建日期无效,时间戳必须数字, 不应该是字符串。
在做分页的时候, 每次都重新渲染,当时脑袋很乱, 很胀。突然灵光一闪,加了一条判断分页 是否存在的逻辑,解决。头疼真不适合撸代码。
后天要内测了。写的一点都不满意。主要是代码写的太乱了,以后不好维护。还有就是时间紧的很。
使用 二分法 优化 多条 if () {} 语句。
如果遇到读不懂的源代码, 先试着去调试一下试试,不要光看。要手勤,心勤。
长进:
每天看书13页, 总是提不起精神来。为了让自己能提起精神, 改成每天只看一个知识点, 并合理的应用在项目中。但是这样看, 进度太慢了。
现在改成, 每天还是看书 13 页, 并记住一个知识点。这样就整合了两者。进度即不会慢, 又可以提起精神来看书。现在已经应用到习字里面去了。每天临帖1页, 并每天记住一个字的笔画。这样每天都能有固定的进步。
2019.1.22 09: 51 周二
新一轮的压力要来了,要挺住,挺过去,挺到底。
圣人之所以为圣,佛家之所以为佛,正是大难磨折之时。增所不能。
百端拂逆。唯有逆来顺受。过段时间就会好过一点了。
2019.1.21 22: 04 周一
突然感觉, 好多事情都被困住。困住难免会烦躁。耐之耐之。
定要坐住, 深挖这口井, 定要挖出水来。过了这段时间就会好受一点了。忍耐忍耐。
有些事,不要想着别人能帮助你,有些苦,只有自己品尝才知艰辛。
趁现在还有精力, 定要时刻苦思苦做。时刻把事放在心上。只问积劳, 不问成名。
刚开始一定不要求速,越求速,越苦恼。挫败感越强。定要一笔一画,踏实踏实。过了这段时间就会好受一点了。
2019.1.20 21: 36 周日
如果一个函数, 不能复用, 那这个函数是失败的。
现在开始, 相同的代码,不要手敲超过2次。
2019.1.19 06:43 周六
长进:
对于一个新的技术, 我现在基本上都是拿来就用。去犯错,然后解决错误。不像以前畏手畏脚了。既然大家都会犯错,我只要加快犯错的次数就好了。撞的头破血流自然就聪明多了。
现在采用敏捷方式读书,读完厚厚的一本书需要好久,周期特别长,现在挑基本经典而且薄的书,可以直接学了就可以用的知识点来读,这样效果更好一点。等所有知识点熟练了之后,再攻砖头书。
2019.1.17 10:08 周四
IM 内测,各位老板又开始发红包,哈哈。这个月的口粮有了。
越到上线,事情越多。临上线又派发2个任务。!
2019.1.16 23:10 周三
长进:
- 已经知道先从大处着眼, 小处着手。
- 以后代码放到业务层面时, 一定要是以最简洁的方式使用。(被坑的好苦,今天连续封装了3层)
- 写代码总要以最平和的心态处理,对人也是。切不可急躁,只会坏事。
2019.1.15 10:12 周二
如何把自己的想法, 用程序优雅的表达?
正如如何把自己的想法,用文字优雅的表达?
MD,自己挖的深坑。重复重复重复!修改修改修改!以后发现重复代码, 马上修改!!!
2019.1.14 11:22 周一
最近在看大佬的《编程珠玑》,感悟颇深,真的是 所有的磨难最后都会化作一颗颗美丽的珍珠,常伴吾身!
前辈伟大的智慧,都是一颗颗珍珠。定要取其精华。反复把玩。任何说先不考虑项目架构,完成以后再重构优化的工作都会让 coder 想在重构的时候摔桌子。兄die, 你的血泪史…
2019.1.13 17:17 周日
已能从程序的迷途中折返出来,返回到生活的本质。生活即是程序。
找个知识点,自己在那里可以玩一个下午。哈哈哈~
每次思路错乱时, 就TM喜欢玩微信, 玩了之后, 思路更加错乱, 仍需强行克制啊。
2019.1.12 20:21 周六
wap 端写前端效果(下拉 scale 缩放, 高斯模糊), MD好饿。真TM是忍饥挨饿。
今天 2 位朋友邀请吃饭,谢邀。是真的抽不开身。 写到 20 点, 心烦意乱, 各种复制。mmp。