10.22 编程总结
时隔几个月,今天又接触到关于数据加密与解密方面的算法。事情的来源为想看看其他的同学,写的机器人bot中,有什么比较新奇的,有意思的bot。自己想不出来,看是否能够带来启发。于是找到一个关于 数据加密与解密方面的bot,
意识到的问题(未完待续)
我读代码不像我读书一样,会精读,这是一个不好的习惯。你要把读代码当作读好书。当然这也分几种情况,如果当项目足够大的情况下。首先需要了解他整个项目的组织架构。先不要纠结于那些细节。先有个大致的了解,然后再逐个击破。但是今天这个情况,这个类只存在于两个函数,这种情况下,就必须精读了。阅读代码的所谓精读,就得一个字符都不能放过,读不懂的地方,先跳过去,记录下来。第二种方法,就是把这串函数,截取出来,放入jupyter lab 中。哪里不懂的,就输出一下,结果。
比你自己再脑中想运算结果要好很多。当然如果你自己能够解析出来那当然是最好
vscode中的断点与单步调试。 这个问题再扩散一点就是,如何阅读源代码。
知识点总结
双重for循环的使用
join方法的使用
程序的优化
解密与加密函数的代码逻辑是相同的,唯一的区别只是转换了一下位置。那么是否还可以进一步优化呢?首先你需要知道,好模块的标准。其次你需要知道,有哪些方面可以重构。对这叫做重构!
1.把他们组合起来。那其实也没有必要。根据模块化的原则,一个模块只干好一件事情。也确实是符合。
一个加密,一个解密。
1. 再他基础上优化
2. 自己想其他的思路
比如使用高阶函数来写这个?
3. 不采用这个算法进行加密,而是采取其他算法。
先思考分析问题,再开始行动。
- 我的担忧 我不懂算法,所以我觉得我无法看懂。所以呢?先跳过了解新算法这个部分,不是最重要的事情。现在还不是时候,稍后再理解。
- 什么时候开始学呢? 要根据自己的实际情况开始。先询问,再看书,最后做题。
- 知识的来源 选择书籍的标准
- 学习的原则。 不能半途而废!