legend2---开发日志15(功能需求明确,设计好类和结构的好处是)
legend2---开发日志15(功能需求明确,设计好类和结构的好处是)
一、总结
一句话总结:
极快简化编程,节约大量时间
1、多个类型的物品,比如商店和寻宝的丹药,装备,特性书,英雄石等等 应该怎样统一展示到界面?
放进一个数组,统一显示元素【原先的方法也有其优势】:比如type,比如说id,比如说picture,比如说name
这比我分出装备,特性书,英雄石等,然后在页面分别展示要好
2、寻宝界面怎么让物品按照九宫格的方式排放?
给显示出来的每个物品加一个class,用js对逐个出现的class安排其定位
3、功能需求不明确,代码不按功能需求文档设计好结构和类,真的编写代码好难受?
浪费很多时间做无用功:比如显示奖励函数
很多莫名的bug
4、弹出的奖励页面显示初始数据的原因是什么?
重复引入了两次物品奖励模块
5、灵力测试的缓存中到底放什么,放灵力测试的题目么?
不是放题目,是放是否已经测试,如果测试了,就放测试的结果,比如得分,比如奖励等等
6、变量名不要以数字开头?
不然会遇到莫名其妙的错误,比如在vue中
$exam_data=['today'=>0,'yesterday'=>0,'day_3'=>0,'day_5'=>0,'day_7'=>0,'day_15'=>0,'30_day'=>0,'90_day'=>0];
7、$map_1['b_day_ts']=['>=',$begin_day_ts]; $map_1['b_day_ts']=['<=',$end_day_ts];这样写数据库查询条件的问题什么?
覆盖了,只有后一个被用到,要用between:Db::name('user')->where('id','between',[1,8])->select();
8、比如在两个时间段间查找用什么?
用between:Db::name('user')->where('id','between',[1,8])->select();
[NOT] BETWEEN :同sql的[not] between
查询条件支持字符串或者数组,例如:
Db::name('user')->where('id','between','1,8')->select();
和下面的等效:
Db::name('user')->where('id','between',[1,8])->select();
最终生成的SQL语句都是:
SELECT * FROM `think_user` WHERE `id` BETWEEN 1 AND 8
最快捷的查询方法是:
Db::name('user')->whereBetween('id','1,8')->select();
Db::name('user')->whereNotBetween('id','1,8')->select();
9、选项中出现code标签会显示错乱的原因是什么?
错误的转码解码方式将code结束标签中的左斜线没了,让code的结束标签又变成了一个新的code标签,原来的code标签无法闭合
转码 $data['a_content_art1']=addslashes(htmlspecialchars($data['a_content_art1'])); 解码(这个不行,要一一对应) $article['a_content_art1']=stripslashes(htmlspecialchars_decode(stripslashes($article['a_content_art1']))); 这个 $val['bq_stem_info']=stripslashes(htmlspecialchars_decode($val['bq_stem_info']));
10、PHP addslashes() 函数的作用是什么?
在【单引号,双引号,反斜杠】的千亩加上反斜杠
addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
预定义字符是:
- 单引号(')
- 双引号(")
- 反斜杠(\)
- NULL
提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。
11、PHP htmlspecialchars() 函数 的作用是什么?
htmlspecialchars() 函数把预定义的字符【& 符号、双引号、单引号、小于号、大于号】转换为 HTML 实体。
| 字符 | 替换后 |
|---|---|
| & (& 符号) | & |
| " (双引号) | ",除非设置了 ENT_NOQUOTES |
| ' (单引号) | 设置了 ENT_QUOTES 后, ' (如果是 ENT_HTML401) ,或者 ' (如果是 ENT_XML1、 ENT_XHTML 或 ENT_HTML5)。 |
| < (小于) | < |
| > (大于) | > |
二、内容在总结中
legend2---开发日志15(功能需求明确,设计好类和结构的好处是)的更多相关文章
- [课程设计]任务进度条&开发日志目录
任务进度条&开发日志目录 周期 时间 任务 Sprint One 11.14 ● Scrum团队分工及明确任务1.0 Sprint One 11.15 ● Scr ...
- MySQL性能调优与架构设计——第 15 章 可扩展性设计之Cache与Search的利用
第 15 章 可扩展性设计之Cache与Search的利用 前言: 前面章节部分所分析的可扩展架构方案,基本上都是围绕在数据库自身来进行的,这样是否会使我们在寻求扩展性之路的思维受到“禁锢”,无法更为 ...
- Java日志系统框架的设计与实现
推荐一篇好的文章介绍java日志系统框架的设计的文章:http://soft.chinabyte.com/database/438/11321938.shtml 文章内容总结: 日志系统对跟踪调试.程 ...
- [原创].NET 分布式架构开发实战之二 草稿设计
原文:[原创].NET 分布式架构开发实战之二 草稿设计 .NET 分布式架构开发实战之二 草稿设计 前言:本篇之所以称为草稿设计,是因为设计的都是在纸上完成的.反映了一个思考的过程. 本篇的议题如下 ...
- Chino 操作系统开发日志 (1) - 为 IoT 而生
引言 很多人都听说过 IoT (物联网)这个词,越来越多的人在装修时开始选择智能家居,很多人也购买智能音箱做智能家居控制,想必未来一定是 AI + 物联网的时代. 一种技术要发展并走向成熟必须要降低门 ...
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- U-Learning 后端开发日志(建设中...)
目录 U-Learning--基于泛在学习的教学系统 项目背景 技术栈 框架 中间件 插件 里程碑 CentOS 7搭建JAVA开发环境 接口参数校验(不使用hibernate-validator,规 ...
- QFramework Pro 开发日志(七)v0.4 版本审核通过 与 对话编辑器功能预告
经过一周的工作,v0.4 版本总算完成了. 就在刚刚笔者在 AssetStore 提交了 v0.4 版本. v0.4 版本主要内容有两个 一键生成简单继承类图功能 底层兼容 QFramework v0 ...
- 《Invert》开发日志05:终止
今天终于看了久闻大名的<独立游戏大电影>,然后我就做了一个坑爹的决定:终止“Invert”项目的开发.没错,在还没正式开工之前,我就决定停掉这个项目,而且是永久终止.做这个决定并不是因为觉 ...
随机推荐
- .NET实现爬虫
前几天看到一个.NET Core写成的爬虫,有些莫名的小兴奋,之前一直用集搜客去爬拉勾网的招聘信息,这个傻瓜化工具相当于用HTML模板页去标记DOM节点,然后在浏览器窗口上模拟人的浏览行为同时跟踪节点 ...
- VM tools安装错误The path "" is not a valid path to the xx generic kernel headers.
在网上搜索非常多解决方式.并不适用于我的问题,最后通过下面步骤解决: 1. 更新软件源(防止build-essential不能 安装),然后安装build-essential和linu-headers ...
- Struts2学习二----------访问Servlet API
© 版权声明:本文为博主原创文章,转载请注明出处 Struts2提供了三种方式去访问Servlet API -ActionContext -实现*Aware接口 -ServletActionConte ...
- 无刷新URL 更新
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- mysql忘记root密码且忘了安装目录如何修改root密码
问题背景 很久之前在本机上安装mysql,也没用过(主要是用Oracle),导致root密码忘记.更严重的是,连自己的安装目录都忘记了. 遇到的问题 1.在任务管理器可以找到mysql的服务已经起来, ...
- 【puppeteer+Node.js安装环境】之WebStorm编辑器运行失败问题:Error: Cannot find module 'puppeteer'并且代码出不来“asnyc”标识以及有红色波浪线解决办法
现象一: module.js:557 throw err; ^ Error: Cannot find module 'puppeteer' at Function.Module._r ...
- TP 上传excel
<?php class ExcelAction extends Action{ public function read($filename,$encode='utf-8'){ vendor(' ...
- Cesium--气泡弹窗
参考资料 首先感谢以下博主们的帮助,本人刚接触Cesium不久,无奈只能拾人牙慧了. 由于cesium没有自带的点击弹出气泡的功能,所以需要自己去开发一个这样的功能,网络上资源很多,看到基本思路都一致 ...
- Intellj IDEA光标替insert状态,back键无法删除内容
Intellj IDEA光标为insert状态,无法删除内容导入项目后,发现打开java文件的光标是win系统下按了insert键后的那种宽的光标,并且还无法删除内容,且按删除(delete)键也只见 ...
- JavaScript -- JavaScript高级程序设计
/* 基本类型 Undefined, Null, Boolean, Number, String. 复杂类型 Object 它是所有对象的基础类型. 引用类型 Object 创建:new Ojbect ...