در این مطلب، ویدئو 7 بوی کد پایتون: جرایم بویایی که به هر قیمتی باید از آنها اجتناب کرد با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:22:09
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:02,480
آیا شما نیز عاشق بوی
2
00:00:02,480 –> 00:00:04,240
کد پایتون خوب در صبح هستید
3
00:00:04,240 –> 00:00:07,279
که بوی بالینی پپ 8 را دارد و
4
00:00:07,279 –> 00:00:09,679
حداقل از یک درک لیست استفاده می کند،
5
00:00:09,679 –> 00:00:12,080
اما گاهی اوقات کد بوی خیلی خوبی ندارد و بوی
6
00:00:12,080 –> 00:00:12,880
7
00:00:12,880 –> 00:00:16,079
سوء استفاده از انسجام پایین از
8
00:00:16,079 –> 00:00:18,320
وراثت و در کل شیوه های کدگذاری بد را می دهد.
9
00:00:18,320 –> 00:00:19,279
10
00:00:19,279 –> 00:00:21,039
من میخواهم بینی خود را به هفت
11
00:00:21,039 –> 00:00:22,880
نمونه کد بسیار بدبو بچسبانم
12
00:00:22,880 –> 00:00:25,599
و امیدوارم زندگی کنم تا همه چیز را در مورد آن به شما بگویم
13
00:00:25,599 –> 00:00:26,320
14
00:00:26,320 –> 00:00:27,760
اگر در اینجا تازه وارد هستید و می خواهید
15
00:00:27,760 –> 00:00:29,519
توسعه دهنده نرم افزار بهتری
16
00:00:29,519 –> 00:00:31,679
شوید به طور کلی درک عمیق تری از برنامه نویسی به دست
17
00:00:31,679 –> 00:00:33,600
آورید اکنون با مشترک شدن و ضربه زدن به
18
00:00:33,600 –> 00:00:35,520
زنگ برای اینکه چیزی را
19
00:00:35,520 –> 00:00:37,680
از دست ندهید اصطلاح بوی کد از
20
00:00:37,680 –> 00:00:40,000
کتاب مارتین فاولر در مورد بازسازی می آید، من
21
00:00:40,000 –> 00:00:41,440
لینک آن کتاب را در توضیحات
22
00:00:41,440 –> 00:00:42,160
زیر قرار
23
00:00:42,160 –> 00:00:44,640
دادم اما بوی کد چیست، واقعاً
24
00:00:44,640 –> 00:00:46,000
یک اشکال در برنامه شما
25
00:00:46,000 –> 00:00:47,520
نیست، اما بیشتر یک اشاره به این
26
00:00:47,520 –> 00:00:49,120
که مشکلی در برنامه شما وجود دارد،
27
00:00:49,120 –> 00:00:50,719
چیزی که باید به آن
28
00:00:50,719 –> 00:00:51,680
دقت کنید،
29
00:00:51,680 –> 00:00:53,360
بنابراین ممکن است برنامه کاملاً خوب کار کند،
30
00:00:53,360 –> 00:00:55,360
اما
31
00:00:55,360 –> 00:00:57,120
مشکلی در طراحی وجود دارد که شما
32
00:00:57,120 –> 00:00:58,879
مراقبت از آن و بوی سرد می تواند به شما کمک کند به
33
00:00:58,879 –> 00:01:00,079
این نکته اشاره کنید
34
00:01:00,079 –> 00:01:01,920
که اگر اهل پاکی هستید، هر
35
00:01:01,920 –> 00:01:03,920
بوی سرما را بوی سردی در نظر می
36
00:01:03,920 –> 00:01:06,560
37
00:01:06,560 –> 00:01:08,080
گیرید که اگر عمل گرا
38
00:01:08,080 –> 00:01:10,320
هستید باید فوراً از آن مراقبت کنید. بوهای سرد بر
39
00:01:10,320 –> 00:01:12,159
اساس مورد به مورد
40
00:01:12,159 –> 00:01:14,240
برخی از بوهای سرد واقعاً به راحتی قابل رفع
41
00:01:14,240 –> 00:01:16,159
هستند برخی دیگر به یک مشکل طراحی عمیق تر اشاره می کنند
42
00:01:16,159 –> 00:01:17,680
که رفع آن واقعاً مدتی طول می کشد
43
00:01:17,680 –> 00:01:18,400
44
00:01:18,400 –> 00:01:20,640
و رفع برخی دیگر در حال حاضر عملی نیست
45
00:01:20,640 –> 00:01:21,520
،
46
00:01:21,520 –> 00:01:23,040
بیایید نگاهی بیندازیم. در یک
47
00:01:23,040 –> 00:01:25,520
مثال کد مخصوصاً بدبو و آن را
48
00:01:25,520 –> 00:01:28,799
دوباره بوی گلگون ببخشید، این نمونه ای از یک
49
00:01:28,799 –> 00:01:29,840
50
00:01:29,840 –> 00:01:32,240
سیستم مدیریت کارمند است که در آن کارمندان می
51
00:01:32,240 –> 00:01:33,920
توانند تعطیلات را بگذرانند
52
00:01:33,920 –> 00:01:36,400
و ما می توانیم انواع مختلفی از
53
00:01:36,400 –> 00:01:37,680
کارمندان
54
00:01:37,680 –> 00:01:40,320
را ایجاد کنیم، بنابراین یک کلاس کارمندی داریم که نماینده
55
00:01:40,320 –> 00:01:41,520
56
00:01:41,520 –> 00:01:43,439
اولیه یک کارمند در یک کارمند شرکت
57
00:01:43,439 –> 00:01:44,799
در یک ردیف
58
00:01:44,799 –> 00:01:47,280
تعدادی از روزهای تعطیل را نامگذاری می کند و سپس تابعی وجود دارد
59
00:01:47,280 –> 00:01:48,399
60
00:01:48,399 –> 00:01:50,960
که به کارمند اجازه می
61
00:01:50,960 –> 00:01:52,479
دهد تعطیلات را بگذراند یا
62
00:01:52,479 –> 00:01:54,960
بسته به مقدار این پرچم بولی تعدادی از تعطیلات را پرداخت کند.
63
00:01:54,960 –> 00:01:57,200
64
00:01:57,200 –> 00:01:59,520
سپس ما یک زیرمجموعه خاص داریم، بنابراین
65
00:01:59,520 –> 00:02:00,960
یک کارمند ساعتی
66
00:02:00,960 –> 00:02:02,719
داریم که بر اساس تعداد ساعات کار پرداخت می شود
67
00:02:02,719 –> 00:02:04,479
و
68
00:02:04,479 –> 00:02:07,200
یک کارمند حقوق بگیر داریم که براساس
69
00:02:07,200 –> 00:02:09,360
حقوق ثابت ماهانه پرداخت می شود،
70
00:02:09,360 –> 00:02:12,080
یک شرکت طبقه دیگری است که
71
00:02:12,080 –> 00:02:14,239
لیستی از کارمندان دارد، ما یک روش داریم. برای
72
00:02:14,239 –> 00:02:16,000
اضافه کردن یک کارمند
73
00:02:16,000 –> 00:02:18,239
و ما چند روش برای پیدا کردن
74
00:02:18,239 –> 00:02:20,560
انواع مختلف کارمندان مدیران مدیران
75
00:02:20,560 –> 00:02:23,840
معاونان کارآموز و غیره داریم، سپس
76
00:02:23,840 –> 00:02:24,879
تابعی برای
77
00:02:24,879 –> 00:02:26,879
پرداخت به کارمند داریم که یک کارمند را
78
00:02:26,879 –> 00:02:28,319
به عنوان پارامتر در نظر می گیرد و سپس
79
00:02:28,319 –> 00:02:30,560
اگر کارمند حقوق بگیر است چاپ
80
00:02:30,560 –> 00:02:32,959
می کنیم. این اطلاعات اگر یک
81
00:02:32,959 –> 00:02:36,000
کارمند ساعتی باشد ما چاپ می کنیم این
82
00:02:36,000 –> 00:02:38,239
تابع اصلی عمدتاً برای
83
00:02:38,239 –> 00:02:39,760
آزمایش این کد و دیدن
84
00:02:39,760 –> 00:02:41,760
اینکه کار می کند وجود دارد، بنابراین یک شرکت ایجاد می کنیم
85
00:02:41,760 –> 00:02:43,519
، چند کارمند اضافه می
86
00:02:43,519 –> 00:02:46,640
کنیم، چند نتیجه را چاپ می
87
00:02:46,640 –> 00:02:48,319
کنیم، به یک کارمند پول می دهیم و سپس اجازه دهید یک
88
00:02:48,319 –> 00:02:50,239
کارمند به تعطیلات برود،
89
00:02:50,239 –> 00:02:52,959
بیایید این کد را اجرا کنیم تا ببینیم چه اتفاقی میافتد،
90
00:02:52,959 –> 00:02:54,800
بنابراین به نظر میرسد
91
00:02:54,800 –> 00:02:56,319
که هیچ معاون رئیسجمهوری وجود نداشته باشد،
92
00:02:56,319 –> 00:02:58,480
که درست است، ما میبینیم که یک
93
00:02:58,480 –> 00:03:00,720
مدیر وجود دارد و یک مدیر وجود دارد.
94
00:03:00,720 –> 00:03:03,200
و سپس ما به یک کارمند پول می
95
00:03:03,200 –> 00:03:04,400
دهیم و به کارمند اجازه می دهیم که
96
00:03:04,400 –> 00:03:07,120
مرخصی بگیرد،
97
00:03:07,120 –> 00:03:09,200
در این مثال به هفت بوی کد نگاه می کنم و
98
00:03:09,200 –> 00:03:11,040
سپس یک جایزه کوچک برای شما دارم، بنابراین
99
00:03:11,040 –> 00:03:12,800
مطمئن شوید که ابتدا این را تا آخر تماشا کنید.
100
00:03:12,800 –> 00:03:15,519
بوی کد به نقش
101
00:03:15,519 –> 00:03:16,640
یک کارمند مربوط
102
00:03:16,640 –> 00:03:18,560
می شود که می بینید، ما نقش را در اینجا به عنوان یک رشته تعریف می کنیم
103
00:03:18,560 –> 00:03:20,000
و
104
00:03:20,000 –> 00:03:22,000
بعداً وقتی واقعاً این
105
00:03:22,000 –> 00:03:24,000
کارمندان را ایجاد می کنیم، به این کارمندان
106
00:03:24,000 –> 00:03:24,480
107
00:03:24,480 –> 00:03:27,040
نقش
108
00:03:27,040 –> 00:03:28,959
109
00:03:28,959 –> 00:03:31,360
های مختلفی می دهیم. ما میتوانیم
110
00:03:31,360 –> 00:03:32,799
یک نوع نقش
111
00:03:32,799 –> 00:03:35,200
دردسرساز یا تنبل داشته باشیم و
112
00:03:35,200 –> 00:03:36,720
قطعاً چنین
113
00:03:36,720 –> 00:03:37,200
افرادی را
114
00:03:37,200 –> 00:03:40,000
در شرکت خود نمیخواهیم، بنابراین رشته بر
115
00:03:40,000 –> 00:03:40,959
116
00:03:40,959 –> 00:03:43,200
ی نقشهای مشخص شده بسیار گسترده است، بهتر است از
117
00:03:43,200 –> 00:03:44,560
یزی مانند enum استفاده کنید که
118
00:03:44,560 –> 00:03:46,720
ر آن میتوانید به طور خاص نو
119
00:03:46,720 –> 00:03:48,720
نقش را تعریف کنید. نقش هایی در شرکت وجود دارد
120
00:03:48,720 –> 00:03:51,280
که آن را نیز واضح تر می کند زیرا
121
00:03:51,280 –> 00:03:51,920
شاید
122
00:03:51,920 –> 00:03:54,159
ما نمی دانیم چگونه این
123
00:03:54,159 –> 00:03:55,599
نقش های خاص را در اینجا بنویسیم و از حروف کوچک استفاده می کنیم
124
00:03:55,599 –> 00:03:57,280
اما شاید در
125
00:03:57,280 –> 00:03:59,519
جای دیگری در کد ممکن است
126
00:03:59,519 –> 00:04:01,439
تصادفاً از حروف بزرگ استفاده کنیم و سپس
127
00:04:01,439 –> 00:04:02,959
با مشکل مواجه شویم زیرا
128
00:04:02,959 –> 00:04:04,319
دیگر کار نخواهد کرد.
129
00:04:04,319 –> 00:04:06,400
130
00:04:06,400 –> 00:04:07,920
131
00:04:07,920 –> 00:04:10,400
132
00:04:10,400 –> 00:04:11,040
133
00:04:11,040 –> 00:04:13,680
134
00:04:13,680 –> 00:04:15,840
نقش enum بنابراین میخواهم نوع enum را وارد کنم
135
00:04:15,840 –> 00:04:20,079
و
136
00:04:20,079 –> 00:04:22,720
شناسهها را به مقادیر خاص درون
137
00:04:22,720 –> 00:04:24,720
enum اختصاص دهم، از
138
00:04:24,720 –> 00:04:26,720
تابع خودکار استفاده میکنم زیرا واقعاً
139
00:04:26,720 –> 00:04:28,639
به مقادیر خاص اهمیتی نمیدهم، فقط
140
00:04:28,639 –> 00:04:29,759
میخواهم آنها یک عدد داشته باشند.
141
00:04:29,759 –> 00:04:34,400
ارزش، بنابراین من یک نقش کلاس ایجاد می کنم
142
00:04:34,400 –> 00:04:37,280
و این یک زیر کلاس از enum است، اجازه دهید
143
00:04:37,280 –> 00:04:39,840
ابتدا یک رشته doc اضافه
144
00:04:39,840 –> 00:04:41,919
کنم و سپس
145
00:04:41,919 –> 00:04:43,759
انواع نقش های مختلف را تعریف کنیم تا ممکن است
146
00:04:43,759 –> 00:04:46,800
چیزی شبیه رئیس داشته باشیم،
147
00:04:47,280 –> 00:04:50,639
اجازه دهید یک معاون اضافه کنیم
148
00:04:52,479 –> 00:04:57,840
و بیایید یک اضافه کنیم. چند مورد
149
00:05:01,120 –> 00:05:02,960
دیگر، اکنون ما چند
150
00:05:02,960 –> 00:05:04,639
نوع نقش مفید مختلف داریم،
151
00:05:04,639 –> 00:05:06,720
پس در نقش کلاس کارمند
152
00:05:06,720 –> 00:05:09,120
دیگر رشته نیست، بلکه یک
153
00:05:09,120 –> 00:05:11,600
نمونه ردیفی است و بیایید ببینیم کجا
154
00:05:11,600 –> 00:05:13,120
از این
155
00:05:13,120 –> 00:05:15,199
نقشها استفاده میکنیم، بنابراین در شرکت ما این
156
00:05:15,199 –> 00:05:16,240
157
00:05:16,240 –> 00:05:21,199
روشها را پیدا میکنیم. از قانون هم استفاده کنیم در اینجا
158
00:05:21,600 –> 00:05:25,840
و اینجا نیز وجود دارد
159
00:05:28,720 –> 00:05:30,560
و وقتی کارمندان را ایجاد می کنیم، همچنین
160
00:05:30,560 –> 00:05:32,080
باید مطمئن شویم که این نقش ها
161
00:05:32,080 –> 00:05:32,720
در واقع
162
00:05:32,720 –> 00:05:39,600
مقادیر enum هستند،
163
00:05:39,600 –> 00:05:41,199
اجازه دهید این مثال را اجرا کنیم تا مطمئن شویم که
164
00:05:41,199 –> 00:05:42,960
هنوز کار
165
00:05:42,960 –> 00:05:45,199
می کند، همچنان کار می کند، همچنین می بینید که
166
00:05:45,199 –> 00:05:46,800
اکنون اطلاعات کمی متفاوتی را چاپ می کند
167
00:05:46,800 –> 00:05:48,320
زیرا این در واقع
168
00:05:48,320 –> 00:05:50,800
دیگر یک رشته نیست، اما یک enum است،
169
00:05:50,800 –> 00:05:52,720
بنابراین بوی کد اول است،
170
00:05:52,720 –> 00:05:54,400
بوی کد دوم،
171
00:05:54,400 –> 00:05:57,120
کد تکراری است، اگر به کلاس شرکت نگاه کنید،
172
00:05:57,120 –> 00:05:58,240
173
00:05:58,240 –> 00:06:01,199
به ویژه این روشها را پیدا کنید،
174
00:06:01,199 –> 00:06:01,919
همه آنها
175
00:06:01,919 –> 00:06:03,919
کد بسیار مشابهی دارند، شما اساساً
176
00:06:03,919 –> 00:06:05,440
همه کارمندان مدیر، معاون
177
00:06:05,440 –> 00:06:07,199
رئیس جمهور را پیدا کردهاید. کارآموزان کارمند
178
00:06:07,199 –> 00:06:08,800
و تنها چیزی که متفاوت است
179
00:06:08,800 –> 00:06:10,639
اساساً نقش کارمندی است
180
00:06:10,639 –> 00:06:11,840
که ما به دنبال آن هستیم به
181
00:06:11,840 –> 00:06:13,759
طور کلی تکرار کد چیز بدی
182
00:06:13,759 –> 00:06:15,440
است زیرا اگر اشکالی در این کد خاص وجود داشته باشد،
183
00:06:15,440 –> 00:06:17,360
184
00:06:17,360 –> 00:06:19,199
باید همه جا آن را برطرف کنیم. در هر یک از
185
00:06:19,199 –> 00:06:20,560
این روش ها
186
00:06:20,560 –> 00:06:22,080
، بسیار بهتر است که یک
187
00:06:22,080 –> 00:06:24,080
روش عمومی از این روش بسازیم و سپس تنها
188
00:06:24,080 –> 00:06:26,400
یک مکان داریم که در آن اشکالات احتمالی رخ می دهد
189
00:06:26,400 –> 00:06:28,080
و همچنین فقط یک مکان جایی که باید برای آن
190
00:06:28,080 –> 00:06:30,160
تست بنویسیم، بنابراین بیایید یک متد Find کارکنان را اضافه کنیم
191
00:06:30,160 –> 00:06:32,080
که یک
192
00:06:32,080 –> 00:06:34,240
نسخه عمومی از این روشهای یافتن بسیار خاص است
193
00:06:34,240 –> 00:06:36,639
194
00:06:38,400 –> 00:06:40,639
و روش Find کارکنان به یک نقش نیاز دارد
195
00:06:40,639 –> 00:06:42,479
196
00:06:42,479 –> 00:06:46,000
و اجازه دهید رشته docstring را بهروزرسانی کنیم
197
00:06:46,639 –> 00:06:47,759
و سپس تنها چیزی که باید
198
00:06:47,759 –> 00:06:50,080
در اینجا تغییر دهیم، در واقع
199
00:06:50,080 –> 00:06:54,160
برای وضوح، نام آن را به کارمندان تغییر دهید
200
00:06:54,160 –> 00:06:57,680
و سپس این
201
00:06:57,680 –> 00:07:00,880
نقش خواهد بود و اکنون میتوانم هر یک از
202
00:07:00,880 –> 00:07:03,840
این روشها را در اینجا حذف کنم،
203
00:07:04,880 –> 00:07:07,440
اکنون میتوانم از روش Find کارکنان
204
00:07:07,440 –> 00:07:09,039
در داخل تابع اصلی برای یافتن
205
00:07:09,039 –> 00:07:10,639
کارمندان خاص استفاده کنم، بنابراین پیدا کردن معاونان
206
00:07:10,639 –> 00:07:11,840
رئیسها میشود
207
00:07:11,840 –> 00:07:14,880
نقطه نقش کارمندان را پیدا میکند. معاون
208
00:07:14,880 –> 00:07:17,840
رئیس جمهور به
209
00:07:18,319 –> 00:07:21,120
آنجا می رویم و می توانیم همین کار را
210
00:07:21,120 –> 00:07:25,120
برای مدیران و کارآموزان انجام
211
00:07:27,919 –> 00:07:30,319
دهیم، بیایید بررسی کنیم که این هنوز کار می کند هنوز هم کار می
212
00:07:30,319 –> 00:07:31,120
کند.
213
00:07:31,120 –> 00:07:33,360
214
00:07:33,360 –> 00:07:35,680
215
00:07:35,680 –> 00:07:37,759
216
00:07:37,759 –> 00:07:40,080
روشها منظورم این است که کد
217
00:07:40,080 –> 00:07:41,759
خوب است، کد بسیار خوانا است،
218
00:07:41,759 –> 00:07:43,680
آنقدر طولانی نیست، بنابراین خوب است،
219
00:07:43,680 –> 00:07:46,080
اما در واقع راههای بهتری برای انجام
220
00:07:46,080 –> 00:07:47,199
این کار در پایتون
221
00:07:47,199 –> 00:07:49,120
برای exa وجود دارد. شما می توانید با استفاده از درک لیست، کل این
222
00:07:49,120 –> 00:07:50,800
موضوع را به یک خط کد کاهش دهید.
223
00:07:50,800 –> 00:07:52,720
درک لیست
224
00:07:52,720 –> 00:07:54,319
225
00:07:54,319 –> 00:07:56,960
به طور کلی بسیار قدرتمند است زیرا
226
00:07:56,960 –> 00:07:58,240
به شما امکان می دهد
227
00:07:58,240 –> 00:08:00,720
اساساً ایجاد
228
00:08:00,720 –> 00:08:03,280
نقشه لیست و فیلتر کردن چیزها را در
229
00:08:03,280 –> 00:08:05,680
یک خط کد که واقعاً دقیق است ترکیب
230
00:08:05,680 –> 00:08:07,520
کنید. به شما نشان می دهم که چگونه می توانید این را به
231
00:08:07,520 –> 00:08:07,919
232
00:08:07,919 –> 00:08:09,680
درک لیست تبدیل کنید که در واقع
233
00:08:09,680 –> 00:08:11,440
واقعاً ساده است، بنابراین من می
234
00:08:11,440 –> 00:08:13,360
235
00:08:13,360 –> 00:08:16,560
خواهم لیستی مانند آن را برگردانم و سپس در داخل
236
00:08:16,560 –> 00:08:17,599
درک لیست،
237
00:08:17,599 –> 00:08:23,120
همه کارمندان را پیدا
238
00:08:23,759 –> 00:08:25,599
می کنیم و آنها را از
239
00:08:25,599 –> 00:08:26,960
لیست کارکنان
240
00:08:26,960 –> 00:08:29,039
که یکی از ویژگی های کلاس است، اما
241
00:08:29,039 –> 00:08:31,280
فقط آن دسته از کارمندانی است
242
00:08:31,280 –> 00:08:34,240
که نقش برای آنها نقشی است
243
00:08:34,240 –> 00:08:35,519
که به عنوان پارامتر ارسال کردیم
244
00:08:35,519 –> 00:08:38,880
و اکنون می توانم همه این کدها را در اینجا حذف کنم
245
00:08:38,880 –> 00:08:41,039
و متدهای Find کارکنان را
246
00:08:41,039 –> 00:08:42,880
به این
247
00:08:42,880 –> 00:08:45,760
درک لیست کوتاه زیبا کاهش داده ایم. اجازه دهید
248
00:08:45,760 –> 00:08:47,120
این را یک بار دیگر اجرا
249
00:08:47,120 –> 00:08:50,560
کنیم و همچنان کار می کند، بنابراین از
250
00:08:50,560 –> 00:08:51,360
توابع داخلی
251
00:08:51,360 –> 00:08:52,880
استفاده کنید زیرا آنها زندگی شما را به طور کلی
252
00:08:52,880 –> 00:08:55,680
بسیار آسان تر می کنند بوی کد شماره
253
00:08:55,680 –> 00:08:58,800
چهار که از مبهم استفاده می کند. شناسه یا نداشتن
254
00:08:58,800 –> 00:08:59,680
واحد
255
00:08:59,680 –> 00:09:02,240
برای مثال بیایید
256
00:09:02,240 –> 00:09:03,040
257
00:09:03,040 –> 00:09:05,680
به کارمند ساعتی نگاه کنیم که نرخ ساعتی دارد که
258
00:09:05,680 –> 00:09:06,240
از نظر
259
00:09:06,240 –> 00:09:09,040
نام متغیر خوب است اما مقدار یک
260
00:09:09,040 –> 00:09:11,040
شناسه واقعا مبهم است ما واقعاً
261
00:09:11,040 –> 00:09:14,080
معنی آن را نمی دانیم بنابراین باید با تغییر آن مشکل را برطرف
262
00:09:14,080 –> 00:09:15,760
کنیم.
263
00:09:15,760 –> 00:09:18,000
برای مثال، بیایید
264
00:09:18,000 –> 00:09:18,720
آن را به
265
00:09:18,720 –> 00:09:20,880
ساعتها کار تبدیل کنیم تا معنی آن را واضحتر نشان
266
00:09:20,880 –> 00:09:23,519
267
00:09:23,519 –> 00:09:25,360
دهیم و اکنون این باید همچنان
268
00:09:25,360 –> 00:09:26,640
کار کند، زیرا ما فقط
269
00:09:26,640 –> 00:09:29,760
یک refactor ساده در اینجا انجام دادیم، بنابراین میتوانید ببینید
270
00:09:29,760 –> 00:09:30,720
که
271
00:09:30,720 –> 00:09:32,080
اکنون تغییر کردهایم نام این متغیر برای
272
00:09:32,080 –> 00:09:33,920
چیزی است که معنیدارتر است، اما ما
273
00:09:33,920 –> 00:09:34,880
274
00:09:34,880 –> 00:09:37,600
واحدها را نیز گنجاندهایم و در واقع به طور کلی
275
00:09:37,600 –> 00:09:38,000
بسیار
276
00:09:38,000 –> 00:09:41,120
پاکتر است و میتوان گفت
277
00:09:41,120 –> 00:09:42,720
که برای نرخ ساعتی
278
00:09:42,720 –> 00:09:44,480
احتمالاً باید این کار را نیز انجام دهیم تا
279
00:09:44,480 –> 00:09:47,600
شاید بتوانیم آن را به
280
00:09:47,600 –> 00:09:50,959
نرخ ساعتی دلار تغییر دهیم. بدانید که این
281
00:09:50,959 –> 00:09:52,720
در واقع یک نرخ به دلار است
282
00:09:52,720 –> 00:09:56,160
و نه به یورو یا پوند
283
00:09:56,160 –> 00:09:57,360
یا هر چیز دیگر
284
00:09:57,360 –> 00:09:59,600
یا بیت کوین که بسیار گران باشد
285
00:09:59,600 –> 00:10:02,000
کارمند ساعتی 50 بیت کوین
286
00:10:02,000 –> 00:10:04,320
خوب شاید در یک سال
287
00:10:04,320 –> 00:10:05,279
دیگر زیاد نخواهد بود
288
00:10:05,279 –> 00:10:08,079
بوی طلا 5 از این نمونه
289
00:10:08,079 –> 00:10:09,200
استفاده می کند هر زمان که
290
00:10:09,200 –> 00:10:11,920
این نمونه را در هر جایی از کد می بینید
291
00:10:11,920 –> 00:10:14,160
باید همه نوع زنگ هشدار به صدا درآید
292
00:10:14,160 –> 00:10:14,399
293
00:10:14,399 –> 00:10:16,399
اگر کد شما به خوبی طراحی شده باشد،
294
00:10:16,399 –> 00:10:18,000
به احتمال زیاد از چیزی شبیه به این استفاده خواهید کرد.
295
00:10:18,000 –> 00:10:19,120
به عنوان مثال
296
00:10:19,120 –> 00:10:21,120
چرا ما از این نمونه استفاده می کنیم در اینجا
297
00:10:21,120 –> 00:10:23,040
ما یک روش حقوق کارمند
298
00:10:23,040 –> 00:10:25,200
در یک کلاس شرکت داریم که یک
299
00:10:25,200 –> 00:10:26,959
کارمند را
300
00:10:26,959 –> 00:10:28,560
301
00:10:28,560 –> 00:10:30,079
دریافت
302
00:10:30,079 –> 00:10:30,800
303
00:10:30,800 –> 00:10:32,560
می کند. استفاده از این مثال در اینجا برای
304
00:10:32,560 –> 00:10:34,160
تعیین نوع آن
305
00:10:34,160 –> 00:10:36,399
که البته واقعاً بد است، زیرا
306
00:10:36,399 –> 00:10:38,160
اکنون وابستگی مستقیم
307
00:10:38,160 –> 00:10:39,920
بین کلاس کارمند حقوق
308
00:10:39,920 –> 00:10:42,240
و زیر کلاس های کارمند را معرفی می کنیم، همچنین
309
00:10:42,240 –> 00:10:44,320
به این معنی است که هر زمان که یک نوع کارمند جدید اضافه کنید،
310
00:10:44,320 –> 00:10:45,440
311
00:10:45,440 –> 00:10:47,360
باید این
312
00:10:47,360 –> 00:10:50,160
عبارت if else را در اینجا گسترش دهید و دیگری را