type
status
date
slug
summary
tags
category
icon
password
花了一周时间终于把强化模拟器给写出来了,实在没想到居然能写过 1000 行。由于模拟器的性质上要做到数据双向绑定,这次就使用了以前用过一会然后太难用弃坑的 Vue,界面直接用 Bootstrap 解决的,赞美开源项目。

1. 先考虑好需求,做好 TODO LIST

写模拟器的时候经常不知道下一步怎么走,写到一半觉得差不多了又感觉还差太远,于是拿 Google Keep 做了个 TODO LIST。大致像这样:
  • 多语言支持
  • 复制已有素材
  • 提示溢出exp,同名等提醒
  • 大成功计算
  • CSS修改:输入对话框
  • etc…
像这样把要做的需求考虑好,分清轻重缓急之后一条一条来就有效率得多了。

2. 界面先行

前端工作中差不多也是这样的吧……之前随便写了一个计算逻辑,最后写界面的时候发现完全用不上,因为功能相差实在是太远了。
比如一开始是简单的两个输入框,输入本体武器和素材武器,写界面时发现采用拖动素材图标的方式更简单,编辑则是新开 Modal 进行,所以原来的代码基本上就废案了。
或者说要考虑模块化设计思路?然而并没有学过程序设计理论(死)。

3. 小功能分开写,保证可扩展性

大概是程序设计理论的内容吧……有些可以复用的 function 之前一直喜欢写死,虽然写代码时很开心省事,等到要扩展时就 GG 了。
比如这次一个用到 localstorage 的保存功能,以及和后端通信的保存读取功能,以前直接写死了,这次把数据作为参数传进去后就好很多。
不发挥可复用性的优势还不如直接从头到尾写一条呢,虽然时间表就是这么干的(死)

4. 数据结构很重要

一个清晰的数据结构不仅程序处理起来很方便,人写的时候也不用多费脑筋。
例如
就比
甚至
好很多。
然而这个我也没学过啊(摔)

5. Git is god.

Git 确实很难上手,不过上手了之后真的是特别方便。
版本控制就不多说了,现在小到编辑器大到 IDE 都集成了 Git,对比版本差别不要太方便。比如发现了一个莫名其妙的 BUG 但不知道先前版本是不是也有,这时直接 git checkout -b <branch> 到先前的版本上测试,结束后再 git checkout master 回来,就省得各种 Ctrl+Z 了。
还有什么设置 post-receive 自动部署啊……
这次虽然用了一周来写这玩意,不过收获良多。要不要再开个新坑呢……(不
另外还是 Webstorm 好用啊,IDE 就是 IDE,还是收钱的。虽然 4G 的内存跑这东西太吃力了…… Java 果然是内存大户吗。

© 2021-2024 - Diru’s Daydream -

Powered by NotionNext / Theme by NotionKylin