代码日记

2019-01-22  本文已影响0人  一十xwjian

《过去时代的手艺人为能在他们的作品上签名而自豪。你也应该如此!》

《如果你不在乎能否漂亮的开发出软件,你又为何要耗费生命去开发软件呢?》

《谢谢你们, 让我梦想!》

迷茫期总结 -> 2019.3.3-5.17 周五 09:51 小雨

不知不觉已经过了 2 个多月, 这个阶段很是迷茫, 遇见错的人, 志向不同的人, 心力已经很痛苦了。以后一定不要再再这些人身上浪费半毛钱时间了。

周总结 -> 2019.2.25-3.3 周日 00:08 阴转晴

代码方面略为长进, 能站在略高的层面去考虑问题, 而不是仅限于当前语言。过去有种,不识庐山真面目,只缘身在此山中。现在已经能跳出庐山,从局外人的角度去忖度代码。

长进:

  1. 编写代码之前会先思考/设计这段代码的主要目的,当没有想通目的时候,不会动手。这种方式从长远来看,是最高效的方式。虽然前期会浪费很多时间。

  2. 利用伪代码编程过程, 去写代码。流程如下:

    • 设计子程序
    • 编写子程序代码
    • 检查代码
    • 收尾工作
    • 按照需求重复上述步骤
  3. 利用表驱动法, 去优化 if 条件, 还是不够熟练。勤加练习

加强训练:

  1. 对代码的整体节奏要把控住。优先做最重要的事。以一天为一个节点。

2019.3.2 周六 09:10 阴

  1. 先决条件: 执行一段代码前必须成立的条件

2019.2.28 周四 09:20 晴

  1. 迭代是重复反馈过程的活动, 其目的通常是为了逼近所需目标或结果。
  2. 软件工程的诀窍在于, 在早期开发阶段的迭代过程中, 需要快速地构建尽量多的东西, 之后丢弃之也不会花费多大代价。
  3. 放之四海而皆准: 比喻具有普遍性的真理到处都适用。
  4. 不要盲目跟风, 而应适用一种混合的方法。可用激动人心的最新方法做做试验,但仍扎根于传统的可靠的方法。
  5. 如果没有充分了解问题就定下解决方法,说明你还不够成熟。
  6. 工程学的规则之一就是权衡各种技术。如果早早将自己的选择限制在单一工具上,就无法做出权衡。
  7. 软件开发中的试验是为了验证某种方法是否可行,只要它解决了问题,就算成功了。
  8. 编程的主要目的之一是管理复杂性
  9. 编程几乎是纯粹的智力活动
  10. 一旦有机会重新审视你的程序,就要用自己的全部所学去改进它。
  11. 重构规则1. 参数过多的函数2. 代码重复3. 冗长的函数4. 嵌套过深的 if5. 内聚性太差,与类不相关的东西应该去除6. 过多的使用基本数据类型7. 子程序名字不恰当, 如果看到某个子程序名字有问题,就应该立刻修改,拖到以后会让你更心烦。8. 注释被用于解释难懂的代码,不要为拙劣的代码编写文档,应当重写代码。

2019.2.27 周三 09:31 阴转晴

  1. 有效编程中最重要的工作是思考,而人思考时通常不会看上去很忙。
  2. 当你受到挫折时, 如果这种方法三十分钟内还不解决问题,我就会花十分钟想些其他办法,再用一个钟头尝试最可行的办法。
  3. 基础知识变化的很慢,即使比你晚毕业10年的人,他所学的基础知识还和你那时学的一模一样。
  4. 软件行业 经验 < 书本的价值
  5. 如果程序员前一两年没有学好 C 语言,那么再加三年也没有意义
  6. 软件行业,任何人放松下来就很快跟不上形势。为了让自己有用,你必须紧跟潮流。
  7. 如果你工作10年,你会得到10年经验还是1年经验的 10 次重复?必须检讨自己的行为,才能获得真正的经验。只有坚持不懈的学习,才能获取经验。如果不这样做,就无法获得经验,无论你工作多少年。
  8. 让脑袋始终保持清醒的状态去编程
  9. 要培养先写伪代码,再改用实际代码
  10. 编译前认真检查代码的习惯。
  11. 以新习惯来替代老习惯
  12. 如果你能抽出少量时间阅读和学习编程知识,要不了多久就能鹤立鸡群了。
  13. 抽象: 从具体事物抽出、概况出它们的共同的方面、本质属性与关系等,而将个别的、非本质的方面、属性与关系舍弃,这种思维过程,称为抽象
  14. 如果在格式编排,循环、变量命名、建模表示法等方面有统一的考虑,就能将精力集中于更具挑战性的编码问题上。
  15. 武断: 原指以权势断定是非曲折,后指完全凭自己的想象作决定。
  16. 桎梏: 脚镣和手铐。比喻束缚人的东西。
  17. 重申: 在原有基础上进行强调
  18. 我想对严肃的程序员说的话就是: 要花工作时间的一部分来检讨和提炼自己的方法。即使程序员总是奋力赶进度,或者满足最后期限的要求,对方法的抽象是更明智的长远投资。
  19. 行之有效的开发过程是在开始时粗调,后来再进行精调。
  20. 如果遵照写伪代码再对其填充代码的步骤,就能享受到 自上而下 设计好处。

2019.2.26 周二 10:12 阴转晴

  1. 因素=>条件
  2. 子程序=>函数
  3. 经济 => 创造、转化、实现价值
  4. 总以一个行业的深度去观察其他行业,你很快就会发现规律。凌驾于技术之上的是思想。凌驾于所有学科之上的是政治。
  5. 深思熟虑 => 深入地反复的考虑

2019.2.25 周一 14:31 晴

  1. 判断某个数是否是整数 parseInt(val, 10) === val
  2. 使用了直接访问表方式定义了 URL 地址
  3. 获取当天的 0时, 0分, 0秒 setHours(0), setM(0), setS(0)

2019.2.24 周日 17:17 晴

  1. 当事情越来越复杂的时候, 应该剥离事情本质, 逐层向外分析。

2019.2.22 周五 15:34 阴

  1. 事情要一件一件做完。不要穿插做。

2019.2.21 周四 13:17 晴

  1. 使用 if 语句优化1. 利用布尔函数调用简化复杂的检测2. 确保所有情况都考虑到: 写一个放在最后的 else 子句, 用出错消息或者断言来捕捉那些你不考虑的情况。3. 把 val >= 18.5 && val < 23.9 改成 18.5 <= val && val < 23.9 这样看起来更顺

2019.2.20 周三 11:57 晴

  1. templet: '<span>{{ d.LAY_TABLE_INDEX+1 }}</span>' 显示序列
  2. ajax status 修改

周总结 -> 2019.2.12-2.19 周日 23:12 晴

  1. 《代码整洁之道》读了一半, 读不下去了。已经忘记了最初的初衷。很遗憾。
  2. 优化了 if 语句 策略模式
  3. 全局变量的应用
  4. 硬编码改成好理解的方式

2019.2.19 周二 16:17 晴

  1. Vue 项目, 拷贝项目->另外一个文件夹->报错 post -> 再根目录新建一个文件 postcss.config.js

  2. Vue 暂无数据显示, 定义一个变量, isDomLoad = false, 当数据加载完毕之后, isDomLoad = true, list.length === 0 && isDomLoad

2019.2.18 周一 13:14 阴转小雪

  1. 用 SERVICE_PACKAGE_COMPLETED、SERVICE_PACKAGE_NOT_STARTED、SERVICE_PACKAGE_UNDER_WAY 替代了 1、2、3 等状态。

  2. 现在突然感悟到, 调接口拿数据, 再写样式, 不就跟直接静态文案, 在写样式是一样的吗?这么简单的道理。只是我把拿接口的数据想复杂了。(接口数据 : 静态数据)

2019.2.14 周四 18:37 阴转雪

  1. 莫名的暴躁, 做事不能一次做两件。老是分心。

  2. 使用全局变量 layer_indexTemp = {} 来存放统一存放数据

  3. layer 放大图片, 发现三处重复代码, 未抽取, 还有弹窗有5处重复。

  4. wap 打包开发服、测试服地址错误, 耽搁了好久, 最后发现是 vue 里面的 process.nev.NODE_ENV 打包后就变成产品了, 为打包是 development

2019.2.13 周三 16:52 晴转阴

  1. layer._indexTemp = layer._indexTemp || {};layer._indexTemp[‘selectInTable’] = layer.open(); 使用一个对象, 保存所有弹窗, 相当于所有弹窗的下标 index, 全部都放到一个全局变量中。

  2. 解决请求缓存问题: 问题原因: 如果每次请求参数都是一样的话, 浏览器会默认缓存。解决方法: 让请求参数每一次都不一样, 就可以解决了, 比如添加一个时间戳参数, 比如: ‘id=id&time=’+new Date().valudOf()

2019.2.12 周二 22:07 阴

  1. 读《高效前端》JS 优化篇1. 避免全局耦合 的三种方式(form、全局数据结构, 单一数据向下传递方式)2. 通过 css 类来控制样式3. 去重复的思路: 出现重复代码(函数)->一个函数->一个模块->一个插件

  2. 使用了 策略模式 优化了 if…else if…else if…else 方式 => model[d.status];

  3. 《语言精粹》对象篇 深入理解了 引用类型总结: 1.凌驾于语言之上的是思想。那些伟大的思想。不管形怎么变, 思想始终不变。其他同理。如果有一天, 解决了某个问题, 正好与大师的思想进行了碰撞, 何尝不是一件令人欣慰的事。哈哈~2. 现在读书只谈体会, 不会太多的去用笨方法。3. 一本书连续读3遍, 不如2本书交叉去读效果更好。

2019.2.3-2.11 周一 23:23 (春节假期总结) 晴

长进:

  1. 已把常用的代码, 抽取成公用的库, 以提升开发效率

  2. 假期看完了《编写可测试的JavaScript》整书圈点完毕, 《高效前端》圈点第一章, 《语言精粹》对象篇, 圈点完毕。layui table 已经抽取公共组件库。layim 使用了一次(源码并未开始看)

  3. 采用曾国藩的读书法, 读新书要求速, 看完之后, 熟读一两章就好了, 等下一次在温书。

  4. 死守一本经典书, 不断的温他, 以达到深入理解, 然后在攻其他。

2019.2.7 周四 17:40 晴 有风(初三)

  1. 封装了 layui-table 组件的一些常用的方法, 以提升效率
  2. async 异步参数
  3. toolbar 工具条操作
  4. templet 的三种方式 字符串、script、function
  5. on 事件监听
  6. resize 重置表格
  7. checkStatus 复选框
  8. set 全局默认参数
  9. init 转换静态表格
  10. reload 表格重载
  11. render 表格渲染

2019.2.6 周三 23:45 晴转小雨 (初二)

  1. 毛玻璃效果

  2. 环形文字

  3. 写了一个起点样式, 并把 毛玻璃 和 环形文字抽取成可复用代码块

2019.2.4 周一 09:25 晴 (除夕)

  1. 渲染 table 一定要先把数据都渲染出来, 然后在调整样式

  2. 初始化表格 table.init()

  3. lay page 可以自定义分页 layout(Array)

  4. table.checkStatus(‘id’) 检查复选框

周总结 -> 2019.1.27-2019.2.3 23: 19 周日 晴

  1. 先走完大方向, 细枝末叶留后面处理。这样不容易分心。

  2. 这周的计划已经完成, layui-table, utils 灵活使用, 《语言精粹》, 函数章节读的还不是很熟, 看来要用笨方法了(背代码)。

  3. 最近长进不是很多, 可能是使用别人的插件, 只在于形的层面。没有学习源代码长进快。

2019.2.2 周六 16:57 阴转小雨

  1. text: Object 设置 table 无数据的文本

  2. parseData: { count: xxx } 设置总条数

  3. 带签名的表格解决方案: 不要使用表格自带的分页, 自己定义个分页。使用表格重载。

2019.2.1 周五 16:17 晴

  1. layer.tips(); layer.tips(content, follow, options) 内容、在哪个元素下面出现、选择参数

  2. layer 自定义皮肤

2019.1.31 周三 22:47 晴

  1. 理顺了 table 渲染数据的流程, 并写了一个增删改查绑定容器->调用接口->渲染列->改变request(请求分页)->parseData(转换数据)->response(响应数据)

长进点:

  1. 使用 templet 函数的方式, 调用了内部的函数
  2. table 命名规范 id=‘xxx’ lay-filter=‘xxxF’ toolbar=‘xxxT’
  3. 绑定 tool 事件不要放在 table done 回调中, 因为每一次翻页都会调用一次 done, 最好写在最外面(只会去绑定一次)
  4. 一定要先走完主线程, 然后在考虑样式, 这样就不容易分心。

2019.1.29 周二 13:04 小雨

  1. 使用 var 声明变量, 在下面引用时, 必须提前声明。
  2. 调试 增删改 操作时候, 应该提前模拟一下。要不数据没有了,你还得添加。

周总结 -> 2019.1.21-1.27 周日 21:19 晴

长进:

  1. 由原来的横向写代码, 变成竖向写。比如: 请求接口, 原来是请求一个接口写一个, 现在是一次请求完所有接口。

  2. 循环中, 每次 push 对象的时候, 一定要在循环中创建对象

  3. new Date(‘2000012312312’), 不要使用 字符串 类型的时间戳, 要是 Number 类型的

  4. 遇到读不懂的代码, 会试图去调试

  5. 创建过的对象, 不需要重复再去创建。可以用 if 去判断该对象是否存在。

  6. 二分法优化多条 if 语句。

  7. 要让两个时间戳一致, 必须两个时间引用一个变量

改进:

  1. 不能保持专注, 需要提升

  2. 不能暴躁, 就算压力再大, 也不要对人发泄, 伤人家的心

  3. 心勤

2019.1.26 周六 10:15 晴

  1. 最近脾气有点暴躁。所有事情都被困住。

  2. 一堆 bug,又被别人冷嘲热讽。一定要撑住。挺过去,过段时间就好了。

  3. 一定要每一天都很开心。这样的人生才有意义。

  4. 我发现我不能求速了,一个知识点,至少要练习一个星期。

  5. 我只能专注于一件事。专注一件事。

2019.1.25 周五 10:09 阴

  1. 签名接口与调用的接口, 时间戳不一致。解决办法, 把接口的时间戳定义成变量,保持一致。

2019.1.24 周四 10:35 晴

  1. 越到紧要关头, 越要保持冷静。强行关闭六根。这次一次调试6个接口。一下调完。又TM进步了。。。哈哈哈

  2. 讲真,领导不能身先士卒,凭什么要我们给你卖命?

  3. 必须时刻跟随公司的项目, 再有余力便做自己的项目。看书是必须每天都要看。不多读人就傻了。

  4. 明天上线。MD。写的一点都不满意。哎。好事真耐磨。耐之耐之。

  5. 每次都剩下我一个人。空旷的房间安安静静。几处车声消逝而过清清楚楚。以爱之名,走走停停。

  6. 晚上细细思考, 我写的程序中,每个创建的对象,都是有血有肉有灵魂,又附有强大的能力。那该有多好!

长进: 这次看书, 光看代码, 不看内容描述,不断简化思路。

2019.1.23 09: 02 周三 晴

  1. 遍历数组, 拼接对象数据的时候, 一定要在 循环 中创建新对象。

  2. new Date('1480897882000'); 这样创建日期无效,时间戳必须数字, 不应该是字符串。

  3. 在做分页的时候, 每次都重新渲染,当时脑袋很乱, 很胀。突然灵光一闪,加了一条判断分页 是否存在的逻辑,解决。头疼真不适合撸代码。

  4. 后天要内测了。写的一点都不满意。主要是代码写的太乱了,以后不好维护。还有就是时间紧的很。😌

  5. 使用 二分法 优化 多条 if () {} 语句。

  6. 如果遇到读不懂的源代码, 先试着去调试一下试试,不要光看。要手勤,心勤。

长进:
每天看书13页, 总是提不起精神来。为了让自己能提起精神, 改成每天只看一个知识点, 并合理的应用在项目中。但是这样看, 进度太慢了。
现在改成, 每天还是看书 13 页, 并记住一个知识点。这样就整合了两者。进度即不会慢, 又可以提起精神来看书。现在已经应用到习字里面去了。每天临帖1页, 并每天记住一个字的笔画。这样每天都能有固定的进步。

2019.1.22 09: 51 周二

2019.1.21 22: 04 周一

2019.1.20 21: 36 周日

2019.1.19 06:43 周六

长进:

  1. 对于一个新的技术, 我现在基本上都是拿来就用。去犯错,然后解决错误。不像以前畏手畏脚了。既然大家都会犯错,我只要加快犯错的次数就好了。撞的头破血流自然就聪明多了。

  2. 现在采用敏捷方式读书,读完厚厚的一本书需要好久,周期特别长,现在挑基本经典而且薄的书,可以直接学了就可以用的知识点来读,这样效果更好一点。等所有知识点熟练了之后,再攻砖头书。

2019.1.17 10:08 周四

IM 内测,各位老板又开始发红包,哈哈。这个月的口粮有了。
越到上线,事情越多。临上线又派发2个任务。🙃!

2019.1.16 23:10 周三

长进:

  1. 已经知道先从大处着眼, 小处着手。
  2. 以后代码放到业务层面时, 一定要是以最简洁的方式使用。(被坑的好苦,今天连续封装了3层)
  3. 写代码总要以最平和的心态处理,对人也是。切不可急躁,只会坏事。

2019.1.15 10:12 周二

2019.1.14 11:22 周一

2019.1.13 17:17 周日

2019.1.12 20:21 周六

wap 端写前端效果(下拉 scale 缩放, 高斯模糊), MD好饿。真TM是忍饥挨饿。
今天 2 位朋友邀请吃饭,谢邀。是真的抽不开身。 写到 20 点, 心烦意乱, 各种复制。mmp。

上一篇 下一篇

猜你喜欢

热点阅读