abser

abser

一起建造开源美丽世界
🏢  技术猫 / 成员
V2EX 第 412998 号会员,加入于 2019-05-16 20:59:40 +08:00
6 S 25 B
云程序员
根据 abser 的设置,主题列表只有在你登录之后才可查看
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
abser 最近回复了
值得鼓励,留个赞
191 天前
回复了 abser 创建的主题 Kubernetes 分享一下我画的 Kubernetes 源码图解
@Euthpic 是啊,id 都一样。
247 天前
回复了 daimaosix 创建的主题 NGINX 请教一个 MinIO 反向代理的问题
@blackshadow 嗯, 不配置到根拿不到一些必要数据
utools 绝对好用
337 天前
回复了 abser 创建的主题 问与答 进程和线程能否有一些拟物的比喻?
@kyuuseiryuu 那如果线程之间的资源竞争和通信怎么通过三头六臂解释?
支持, 不知道您们有没有使用 webGPU
346 天前
回复了 way2me 创建的主题 酷工作 [成都] 更新一波近期成都互联网职位
有工业背景的吗
@FS1P7dJz 数据结构重要

在目前大部分商业开发种,数据结构类似楼房的地基和框架,没这个你算法再牛逼,也成不了大气候

说都重要的实际上就是再搅稀泥,来 v2 大家都知道楼主问的算法和数据结构指的是啥

明白人

如果没有场景,为什么不能设立场景分析呢?
如果问题不明朗,为什么不额外探究问题的新的可选答案呢?
如果问题能够激发自己的思考,为什么不深入思考一下帮助自己进一步理解编程在做什么呢?

我是站着这样的立场向自己提出的思考,分享这个问题希望大家也能获益。
以下来自上面博客的引用:

虽然说“程序设计=算法+数据结构”,然后我实际中的体会,数据结构更加重要。

因为结构定义了一个程序的架构,结构定下来了才有具体的实现。好比盖房子,数据结构就是房子的框架结构,如果一间房子很大,而你并不清楚这个房子的结构,会在这里面迷路。而对于算法,如果属于暂时不需要深究的细节部分,可以参考前面“区分主线和支线剧情”部分,先了解其入口、出口参数以及作用即可。

Linus 说: “烂程序员关心的是代码。好程序员关心的是数据结构和它们之间的关系。”

因此,在阅读一份代码时,厘清核心的数据结构之间的关系尤其重要。这个时候,需要使用一些工具来画一下这些结构之间的关系,我的源码分析类博客中有很多这样的例子,比如《 Leveldb 代码阅读笔记》、《 Etcd 存储的实现》等等。

需要说明的是,情景分析、厘清核心数据结构这两步并没有严格的顺序关系,不见得是先做某事再做某事,而是交互进行的。

比如,你如果现在刚接手某个项目,需要简单的了解一下项目,可以先阅读代码了解都有哪些核心数据结构。理解了之后,如果不清楚某些情景下的流程,可以使用情景分析法。总而言之,交替进行直到解答你的疑问为止。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1261 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 18:34 · PVG 02:34 · LAX 10:34 · JFK 13:34
♥ Do have faith in what you're doing.