Skip to content

Commit 2bef26e

Browse files
tienneolabtiennv91
authored andcommitted
translate
1 parent 9846c4d commit 2bef26e

File tree

1 file changed

+22
-35
lines changed

1 file changed

+22
-35
lines changed

README.md

Lines changed: 22 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Original Repository: [ryanmcdermott/clean-code-javascript](https://github.com/ry
55
## Mục lục
66
1. [Introduction](#introduction)
77
2. [Biến](#biến)
8-
3. [Functions](#functions)
8+
3. [Hàm](#functions)
99
4. [Đối tượng và Cấu trúc dữ liệu](#đối-tượng-và-cấu-trúc-dữ-liệu)
1010
5. [Classes](#classes)
1111
6. [Testing](#testing)
@@ -197,34 +197,27 @@ function createMicrobrewery(breweryName = 'Hipster Brew Co.') {
197197
```
198198
**[⬆ về đầu trang](#mục-lục)**
199199

200-
## **Functions**
201-
### Function arguments (2 or fewer ideally)
202-
Limiting the amount of function parameters is incredibly important because it
203-
makes testing your function easier. Having more than three leads to a
204-
combinatorial explosion where you have to test tons of different cases with
205-
each separate argument.
200+
## **Hàm**
201+
### Đối số của hàm (lý tưởng là ít hơn hoặc bằng 2)
202+
Giới hạn số lượng param của hàm là một điều cực kì quan trọng bởi vì nó làm cho hàm của bạn trở nên dễ dàng hơn để test. Trường hợp có nhiều hơn 3 params có thể dẫn đến việc bạn phải test hàng tấn test case khác nhau với những đối số riêng biệt.
206203

207-
One or two arguments is the ideal case, and three should be avoided if possible.
208-
Anything more than that should be consolidated. Usually, if you have
204+
1 hoặc 2 đối số là trường hợp lý tưởng, còn trường hợp 3 đối số thì có thể sử dụng được nhưng chúng ta nên tránh đi là tốt hơn. Những trường hợp khác (từ 3 params trở lên) thì phải cân nhắc thật kỹ lưỡng để sử dụng. Thông thường nếu bạn có nhiều hơn 2 đối số params thì function của bạn thường phải thực hiện nhiều hơn. Trong trường hợp ngược lại, phần lớn thời gian
205+
#TODO
209206
more than two arguments then your function is trying to do too much. In cases
210207
where it's not, most of the time a higher-level object will suffice as an
211208
argument.
209+
#ENDTODO
212210

213-
Since JavaScript allows you to make objects on the fly, without a lot of class
214-
boilerplate, you can use an object if you are finding yourself needing a
215-
lot of arguments.
211+
Ở Javascript cho phép bạn tạo một object với nhiều đối số, mà không có một class nào có sẵn, bạn có thể sử dụng một object nếu bạn đang tìm kiếm một phương pháp khác thay thế cho việc truyền nhiều đối số.
216212

217-
To make it obvious what properties the function expects, you can use the es6
218-
destructuring syntax. This has a few advantages:
213+
Để những thuộc tính của chức năng dự kiến trở nên rõ ràng, bạn có thể sử dụng các cấu trúc của ES6 destructuring. Dưới đây là một số ưu điểm:
219214

220-
1. When someone looks at the function signature, it's immediately clear what
221-
properties are being used.
215+
1. Khi một ai đó nhìn vào chức năng, những thuộc tính sẽ trở nên rõ ràng ngay lập tức.
222216
2. Destructuring also clones the specified primitive values of the argument
223217
object passed into the function. This can help prevent side effects. Note:
224218
objects and arrays that are destructured from the argument object are NOT
225219
cloned.
226-
3. Linters can warn you about unused properties, which would be impossible
227-
without destructuring.
220+
3. Linter có thể sẽ cảnh báo bạn về những thuộc tính không sử dụng, do đó nó sẽ phải có destructuring
228221

229222
**Bad:**
230223
```javascript
@@ -246,15 +239,11 @@ createMenu({
246239
cancellable: true
247240
});
248241
```
249-
**[back to top](#mục-lục)**
242+
**[Về đầu trang](#mục-lục)**
250243

251244

252-
### Functions should do one thing
253-
This is by far the most important rule in software engineering. When functions
254-
do more than one thing, they are harder to compose, test, and reason about.
255-
When you can isolate a function to just one action, they can be refactored
256-
easily and your code will read much cleaner. If you take nothing else away from
257-
this guide other than this, you'll be ahead of many developers.
245+
### Chức năng chỉ nên giải quyết một vấn đề
246+
Đây là một quy định quan trọng của kỹ thuật phần mềm. Khi một hàm thực hiện nhiều hơn 1 vấn đề, chúng sẽ trở nên khó khăn hơn để viết code, test, và .... Khi bạn có thể tách riêng biệt một chức năng cho một action thì chúng có thể được refactor dễ dàng và code của bạn sẽ "sạch sẽ", dễ hiểu hơn. Nếu bạn chỉ cần làm theo hướng dẫn này thôi mà không cần làm gì khác thì bạn cũng đã giỏi hơn nhiều developer khác rồi.
258247

259248
**Bad:**
260249
```javascript
@@ -281,9 +270,9 @@ function isClientActive(client) {
281270
return clientRecord.isActive();
282271
}
283272
```
284-
**[back to top](#mục-lục)**
273+
**[Về đầu trang](#mục-lục)**
285274

286-
### Function names should say what they do
275+
### Tên chức năng phải nói ra được những gì chúng làm
287276

288277
**Bad:**
289278
```javascript
@@ -293,7 +282,7 @@ function addToDate(date, month) {
293282

294283
const date = new Date();
295284

296-
// It's hard to to tell from the function name what is added
285+
// Thông qua tên chức năng, chúng ta rất khó để nhận biết rằng nó đã thêm cái gì
297286
addToDate(date, 1);
298287
```
299288

@@ -306,12 +295,10 @@ function addMonthToDate(month, date) {
306295
const date = new Date();
307296
addMonthToDate(1, date);
308297
```
309-
**[back to top](#mục-lục)**
298+
**[Về đầu trang](#mục-lục)**
310299

311-
### Functions should only be one level of abstraction
312-
When you have more than one level of abstraction your function is usually
313-
doing too much. Splitting up functions leads to reusability and easier
314-
testing.
300+
### Chức năng chỉ nên có 1 lớp abstract
301+
Khi bạn có nhiều hơn 1 lớp abstract của chức năng thì thông thường làm rất nhiều. Chia nhỏ các chức năng thì việc tái sử dụng và testing sẽ dễ dàng hơn.
315302

316303
**Bad:**
317304
```javascript
@@ -374,9 +361,9 @@ function parseBetterJSAlternative(code) {
374361
});
375362
}
376363
```
377-
**[back to top](#mục-lục)**
364+
**[Về đầu trang](#mục-lục)**
378365

379-
### Remove duplicate code
366+
### Xóa những dòng code trùng lặp
380367
Do your absolute best to avoid duplicate code. Duplicate code is bad because it
381368
means that there's more than one place to alter something if you need to change
382369
some logic.

0 commit comments

Comments
 (0)