[图解]实现领域驱动设计译文暴露的问题05

0
00:00:00,620 --> 00:00:02,540
今天我们继续来

1
00:00:02,930 --> 00:00:05,760
谈一谈《实现领域驱动设计》

2
00:00:06,770 --> 00:00:09,440
中译本的译文暴露的问题

3
00:00:11,340 --> 00:00:14,277
前面视频我们说了第①句

4
00:00:14,277 --> 00:00:15,632
这个说完了 

5
00:00:15,632 --> 00:00:18,570
第②句,我们说了第(1)点,就是说

6
00:00:20,020 --> 00:00:22,030
遍历是不存在的

7
00:00:22,860 --> 00:00:23,069
 

8
00:00:23,069 --> 00:00:25,370
不需要访问所有的部件 

9
00:00:26,800 --> 00:00:28,680
今天我们来说第(2)点

10
00:00:29,490 --> 00:00:30,500
这个地方

11
00:00:30,830 --> 00:00:33,190
这个地方,原文是说

12
00:00:33,470 --> 00:00:35,590
navigate deeply 

13
00:00:35,970 --> 00:00:38,320
就是说,往深处

14
00:00:38,600 --> 00:00:39,880
导航 

15
00:00:41,280 --> 00:00:43,110
但是呢,这里就翻译成

16
00:00:43,390 --> 00:00:46,160
深度地递归遍历

17
00:00:49,170 --> 00:00:50,470
这背后

18
00:00:51,590 --> 00:00:53,230
暴露了什么问题呢

19
00:00:55,190 --> 00:00:56,390
我们来看一下

20
00:01:00,290 --> 00:01:04,520
这个深度地递归遍历怎么出来的 

21
00:01:04,870 --> 00:01:06,790
有可能是这样的 

22
00:01:06,790 --> 00:01:09,190
在看到这个deeply之后 

23
00:01:09,950 --> 00:01:14,040
想起有“深度遍历”这样一个词

24
00:01:18,010 --> 00:01:18,697
然后呢

25
00:01:18,697 --> 00:01:20,300
就把这个navigate

26
00:01:20,580 --> 00:01:21,390

27
00:01:21,790 --> 00:01:23,540
误解成遍历了

28
00:01:25,640 --> 00:01:26,510
然后呢

29
00:01:26,510 --> 00:01:29,410
就有了深度地递归遍历

30
00:01:30,280 --> 00:01:31,700
这样一个表达

31
00:01:34,630 --> 00:01:39,320
可惜,这里面可以吐槽的地方太多了

32
00:01:39,950 --> 00:01:42,930
那我们首先来看第一个问题

33
00:01:44,960 --> 00:01:46,170
深度遍历

34
00:01:48,100 --> 00:01:49,880
深度遍历这个词 

35
00:01:50,250 --> 00:01:52,305
在网络文章里面经常有 

36
00:01:52,305 --> 00:01:53,427
包括一些面试

37
00:01:53,427 --> 00:01:54,361
面试官

38
00:01:54,361 --> 00:01:55,670
经常叽里呱啦这样说

39
00:01:55,950 --> 00:01:56,350
但实际上

40
00:01:56,350 --> 00:01:58,950
这个说法是不严谨的 

41
00:01:59,300 --> 00:02:01,880
你想想,你都遍历了

42
00:02:03,180 --> 00:02:04,377
无所不至了

43
00:02:04,377 --> 00:02:05,096
对不对

44
00:02:05,096 --> 00:02:07,012
什么地方都去了

45
00:02:07,012 --> 00:02:08,450
你还不够深 

46
00:02:08,730 --> 00:02:11,438
莫非还有浅度遍历不成

47
00:02:11,438 --> 00:02:11,980
对吧

48
00:02:12,660 --> 00:02:15,562
显然,这里说的不是深不深的问题

49
00:02:15,562 --> 00:02:16,530
而是说什么

50
00:02:18,410 --> 00:02:23,350
使用深度优先搜索算法的遍历

51
00:02:23,630 --> 00:02:26,168
或者你可以缩减下来

52
00:02:26,168 --> 00:02:27,860
深度优先遍历

53
00:02:28,140 --> 00:02:29,920
优先这两个字

54
00:02:30,200 --> 00:02:31,152
应该是要的

55
00:02:31,152 --> 00:02:32,868
你不要省去,深度遍历

56
00:02:32,868 --> 00:02:33,440
这个

57
00:02:35,510 --> 00:02:36,696
意思就不对了

58
00:02:36,696 --> 00:02:37,290
对不对

0
00:00:00,130 --> 00:00:02,135
深度优先遍历 

1
00:00:02,135 --> 00:00:05,000
就类似下面这个演示了

0
00:00:01,000 --> 00:00:04,361
教材里面还是比较严谨的 

1
00:00:04,361 --> 00:00:06,430
像左边这个就是

2
00:00:07,210 --> 00:00:12,200
最有名的数据结构的教材,严(蔚敏)版的数据结构

3
00:00:12,760 --> 00:00:16,250
你看这里用的,深度优先遍历,有

4
00:00:17,120 --> 00:00:18,412
深度优先

5
00:00:18,412 --> 00:00:20,350
搜索遍历,也有

6
00:00:20,640 --> 00:00:23,261
但是不能说把优先去掉

7
00:00:23,261 --> 00:00:24,310
没有的 

8
00:00:26,260 --> 00:00:28,524
教材里面还是比较严谨的

9
00:00:28,524 --> 00:00:29,760
但是呢,很遗憾

10
00:00:30,780 --> 00:00:34,500
你在知网上搜论文什么之类的 

11
00:00:34,500 --> 00:00:36,566
这种为了省两个字 

12
00:00:36,566 --> 00:00:37,393
深度遍历

13
00:00:37,393 --> 00:00:38,840
深度遍历的这种

14
00:00:38,840 --> 00:00:41,320
作为论文发出来也不少 

15
00:00:42,250 --> 00:00:43,980
但严格来说

16
00:00:45,090 --> 00:00:47,090
这个说法是不严谨的

17
00:00:47,460 --> 00:00:51,203
即使你这样用,就叫深度遍历

18
00:00:51,203 --> 00:00:53,370
你也要知道背后的含义

19
00:00:53,710 --> 00:00:54,320


20
00:00:55,980 --> 00:00:57,610
但是呢,我们再来看

21
00:00:58,240 --> 00:01:00,760
译者并没有说深度遍历

22
00:01:01,040 --> 00:01:03,780
他在深度后面加了一个“地”

23
00:01:04,300 --> 00:01:06,360
深度地遍历

24
00:01:07,530 --> 00:01:12,752
好像说的又不是深度优先遍历这个问题

25
00:01:12,752 --> 00:01:14,990
而是说要遍历得很深

26
00:01:17,420 --> 00:01:19,473
那又回到前面说的了

27
00:01:19,473 --> 00:01:20,614
你都遍历了

28
00:01:20,614 --> 00:01:21,754
无所不至了

29
00:01:21,754 --> 00:01:22,895
还不够深吗

30
00:01:22,895 --> 00:01:23,580
对不对

31
00:01:25,200 --> 00:01:28,150
所以呢,在这里加了一个地

32
00:01:28,430 --> 00:01:28,624


33
00:01:28,624 --> 00:01:30,180
味道好像又变了

34
00:01:31,250 --> 00:01:31,850


35
00:01:32,360 --> 00:01:33,600
遍历得很深

36
00:01:35,990 --> 00:01:38,330
但是呢,你再往下看

37
00:01:39,130 --> 00:01:40,790
他又加了一个递归

38
00:01:41,920 --> 00:01:42,690


39
00:01:42,970 --> 00:01:45,690
好像又反转了

40
00:01:45,690 --> 00:01:48,410
好像说的还是深度优先遍历

41
00:01:48,410 --> 00:01:49,090
对不对

0
00:00:01,220 --> 00:00:04,761
为什么,你想想,他为什么要加递归两个字

1
00:00:04,761 --> 00:00:06,010
他可能想到 

2
00:00:06,010 --> 00:00:07,052


3
00:00:07,052 --> 00:00:09,968
就像刚才那个视频里面演示的

4
00:00:09,968 --> 00:00:11,635
我先访问这个顶点

5
00:00:11,635 --> 00:00:12,260
对不对

6
00:00:12,540 --> 00:00:14,056
顶点访问了

7
00:00:14,056 --> 00:00:16,440
再访问它的其中一个

8
00:00:17,020 --> 00:00:19,690
未访问的邻接的顶点

9
00:00:20,630 --> 00:00:21,821
然后呢

10
00:00:21,821 --> 00:00:24,680
在对那个顶点做同样的一个

11
00:00:25,200 --> 00:00:28,060
同样的深度优先的遍历

12
00:00:28,060 --> 00:00:33,780
就把刚才我们这个用到下一个邻接点上面

13
00:00:33,780 --> 00:00:35,100
那不就是递归嘛

14
00:00:35,100 --> 00:00:35,760
对不对

15
00:00:35,760 --> 00:00:36,200


16
00:00:36,600 --> 00:00:39,080
说的还是这个

17
00:00:39,560 --> 00:00:41,800
说的还是深度优先遍历

18
00:00:43,510 --> 00:00:43,844


19
00:00:43,844 --> 00:00:45,850
所以,加“地”

20
00:00:46,930 --> 00:00:49,610
加这个,两个是矛盾的 

21
00:00:51,160 --> 00:00:52,160

22
00:00:52,580 --> 00:00:53,610
可惜呀

23
00:00:53,890 --> 00:00:55,741
译者加的这两个字

24
00:00:55,741 --> 00:00:58,750
递归,原文没有这两个字

25
00:00:58,750 --> 00:01:00,139
原文也没有遍历 

26
00:01:00,139 --> 00:01:03,380
这一切都是译者自己想出来的 

27
00:01:04,300 --> 00:01:05,135
没有遍历

28
00:01:05,135 --> 00:01:06,180
也没有递归

29
00:01:06,520 --> 00:01:07,790
但即使

30
00:01:08,900 --> 00:01:10,060
遍历

31
00:01:11,820 --> 00:01:12,990
存在

32
00:01:13,270 --> 00:01:15,270
也没有必要加这个递归

33
00:01:15,270 --> 00:01:15,670
因为

34
00:01:15,950 --> 00:01:16,508
怎么样

35
00:01:16,508 --> 00:01:18,740
这里面又有另外一个问题了

36
00:01:21,560 --> 00:01:25,113
深度优先遍历不意味着要递归 

37
00:01:25,113 --> 00:01:25,780
对不对

38
00:01:26,430 --> 00:01:28,300
它也可以非递归 

39
00:01:28,810 --> 00:01:31,619
或者我们进一步展开来说

40
00:01:31,619 --> 00:01:35,450
各种各样的递归都可以改成非递归

41
00:01:37,360 --> 00:01:38,803
注意,我们这里用词

42
00:01:38,803 --> 00:01:40,065
只是说“非递归”

43
00:01:40,065 --> 00:01:42,050
没有说循环什么之类的 

44
00:01:45,590 --> 00:01:50,170
很可能译者在这里面概念是

45
00:01:50,520 --> 00:01:51,945
模糊的 

46
00:01:51,945 --> 00:01:53,370
他可能

47
00:01:53,650 --> 00:01:57,251
想到网络上哪里看到“深度遍历”几个字

48
00:01:57,251 --> 00:01:59,581
然后就直接把它搬上去

49
00:01:59,581 --> 00:02:00,852
然后想到

50
00:02:00,852 --> 00:02:02,758
好像可以用递归

51
00:02:02,758 --> 00:02:04,030
递归放上去

52
00:02:05,330 --> 00:02:08,650
但后面的概念并没有搞清楚 

53
00:02:09,400 --> 00:02:11,250
在没有搞清楚的时候

54
00:02:11,530 --> 00:02:13,260
自己乱发挥

55
00:02:13,540 --> 00:02:13,775
 

56
00:02:13,775 --> 00:02:14,950
就变成这种

57
00:02:16,270 --> 00:02:17,432
槽点很多的

58
00:02:17,432 --> 00:02:18,826
而且是错误的

59
00:02:18,826 --> 00:02:20,221
这种翻译 

60
00:02:20,221 --> 00:02:21,848
我们前面讲了

61
00:02:21,848 --> 00:02:23,940
这个不是英语的问题

62
00:02:24,220 --> 00:02:27,080
而是我们的软件开发知识的问题

  • 18
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值