23/04/28的一些记录;五一前的最后一个工作日;(还是有点失眠 -->平时少躺床,多坐在桌前)
前言
C语言,简单修改的一天,地址的制作;
一、编码经验技巧
- 修改内容时,多使用快速修改,以防修改出错,很重要,有利于减少错误率,学会使用技巧,不要蛮力;
- 打有效log,逐步修改代码;
- 一旦需要修改,早修改,不要拖延到后面,比如这次的createTx的合并,提早合并,不要之后修改;
二、会产生错误的微妙细节
1.ascii.decode()不符合条件的数值,会产生报错
字符编码详解——彻底理解掌握编码知识,“乱码”不复存在_51CTO博客_常见的字符编码
Decodes the ASCII [bytes] (a list of unsigned 7-bit integers) to the corresponding string.
If [bytes] contains values that are not in the range 0 .. 127, the decoder will eventually throw a [FormatException].
所以!代码需要准确,并且方便调试,学会更便捷的调试代码。
import 'dart:convert';
String intListToXpubString(List<int> data) {
// 检查数据是否符合要求,因为是throw exception,所以catch捕捉不到,函数多细节考虑!
if (data.any((value) => value > 127)) {
return null;
}
try {
return ascii.decode(data);
} catch (e) {
return null;
}
}
2.使用list的索引,一定要检查是否长度合适
data.length>3 && data[3] == 'a'
3.修改一定使用全局修改,以防错误,减少拼写错误
另外,按照业务流向,稳定性修改,也是很好的选择,保留直觉,但是提升稳定性;
4.提升检索问题的能力,快速精准找到问题,合理log输出
合理的log
总结
主要是最近的错误总结和实践总结。