markdown:
[He said: “Yesterday evening I met Nam. He has bought a new car.” (Tiếng Anh - Lớp 1)](https://lazi.vn/edu/exercise/he-said-yesterday-evening-i-met-nam-he-has-bought-a-new-car)
| |![]()
[Như Quỳnh](/user/quynh.nhu55)
đề câu reported seech
10. He said: “Yesterday evening I met Nam. He has bought a new car.”
11. She said to me: “Who is this book?”
12. Nam said to his father: “Please let me go to Paris.”
13. He said to me: “Do you like to live in Orange Country?"
14. My friend asked me: “Have you a lot of money?”
10. He said: “Yesterday evening I met Nam. He has bought a new car.”
*____________________________________________________________________*
11. She said to me: “Who is this book?”
*____________________________________________________________________*
12. Nam said to his father: “Please let me go to Paris.”
*____________________________________________________________________*
13. He said to me: “Do you like to live in Orange Country?"
*____________________________________________________________________*
14. My friend asked me: “Have you a lot of money?”
*________________________* [Đổ keo sữa và dung dịch rơ miệng vào lẫn nhau, quấy đều thì ra chất gì? (Hóa học - Lớp 1)](https://lazi.vn/edu/exercise/do-keo-sua-va-dung-dich-ro-mieng-vao-lan-nhau-quay-deu-thi-ra-chat-gi)
| |![]()
|NoName.142278|
|Thứ 5, ngày 09/08/2018 11:41:24|[Cửa hàng bán nước thông báo cứ 4 vỏ lon nước ngọt sẽ đổi được 1 lon giải khát mới. Tám bạn học sinh tổ một lớp 4A rủ nhau mang 24 vỏ lon đến cửa hàng để đổi lấy lon nước mới (Toán học - Lớp 1)](https://lazi.vn/edu/exercise/cua-hang-ban-nuoc-thong-bao-cu-4-vo-lon-nuoc-ngot-se-doi-duoc-1-lon-giai-khat-moi)
| |![]()
[bui kim](/user/kim.bui1)
Cửa hàng bán nước thông báo cứ 4 vỏ lon nước ngọt sẽ đổi được 1 lon giải khát mới. Tám bạn học sinh tổ một lớp 4A rủ nhau mang 24 vỏ lon đến cửa hàng để đổi lấy lon nước mới. Bạn Đào nói với mọi người :
- Chúng mình đổi được 6 lon như vậy phải mua thêm 2 lon nữa để mỗi người 1 lon.
Bạn tổ trưởng lắc đầu :
- Đào nhầm rồi ! chúng mình đổi được cả 8 lớn cả thảy và mỗi người vừa được 1 lon.
Theo bạn bạn nào tính đúng?
- Chúng mình đổi được 6 lon như vậy phải mua thêm 2 lon nữa để mỗi người 1 lon.
Bạn tổ trưởng lắc đầu :
- Đào nhầm rồi ! chúng mình đổi được cả 8 lớn cả thảy và mỗi người vừa được 1 lon.
Theo bạn bạn nào tính đúng?
[Hãy viết đoạn văn ngắn nói về phong tục ăn uống của gia đình minh bằng tiếng Anh (Tiếng Anh - Lớp 1)](https://lazi.vn/edu/exercise/hay-viet-doan-van-ngan-noi-ve-phong-tuc-an-uong-cua-gia-dinh-minh-bang-tieng-anh)
| |![]()
[Nguyễn Thị Trà My](/user/my.nguyen-thi-tra2) [Nhà bạn Nam 6 con vịt và 12 con ngan. Hỏi nhà bạn Nam có tất cả bao nhiêu con vịt, con ngan? (Toán học - Lớp 1)](https://lazi.vn/edu/exercise/nha-ban-nam-6-con-vit-va-12-con-ngan-hoi-nha-ban-nam-co-tat-ca-bao-nhieu-con-vit-con-ngan)
| |![]()
[Pui in](/user/in.pui) **Bài 6:**Nhà bạn Nam 6 con vịt và 12 con ngan. Hỏi nhà bạn Nam có tất cả bao nhiêu con vịt, con ngan? **Bài làm**
..............................................................
..............................................................
..............................................................
..............................................................
..............................................................
..............................................................
[Làm sao để tâng cầu lên được? (Thể dục - Lớp 1)](https://lazi.vn/edu/exercise/lam-sao-de-tang-cau-len-duoc)
| |![]()
[Xuan Nguyen](/user/xuan.nguyen27) [Mọi người giúp Bé với 1 + 1 = ... (Toán học - Lớp 1)](https://lazi.vn/edu/exercise/moi-nguoi-giup-be-voi-1-1)
| |![]()
[Hà Lê](/user/ha.le24)
Mọi người giúp Bé với 1 + 1 = ...
Trả lời xong làm những bước sau:
1. Vào trang của Bé
2. Đánh giá trang của Bé
3.Kết bạn với Bé
Chúc mọi người học tốt
Trả lời xong làm những bước sau:
1. Vào trang của Bé
2. Đánh giá trang của Bé
3.Kết bạn với Bé
Chúc mọi người học tốt
[Bài "Gà gáy" do ai sáng tác? (Âm nhạc - Lớp 1)](https://lazi.vn/edu/exercise/bai-ga-gay-do-ai-sang-tac)
| |![]()
[Yuuki Asuna](/user/asuna.yuuki2)
Có ai biết bài ''Gà gáy'' do ai sáng tác không
[Tính số dãy ghế có trong phòng họp lúc đầu, biết rằng số dãy ghế nhỏ hơn 50 (Toán học - Lớp 1)](https://lazi.vn/edu/exercise/tinh-so-day-ghe-co-trong-phong-hop-luc-dau-biet-rang-so-day-ghe-nho-hon-50)
| |![]()
[Phương Vũ](/user/phuong.vu31)
Một phòng họp có 240 ghế (mỗi ghế một chỗ ngồi), được xếp thành từng dãy, mỗi dãy có số ghế bằng nhau. Trong một cuộc hợp có 315 người tham dự nên ban tổ chức phải kê thêm 3 dãy ghế và mỗi dãy ghế tăng thêm 1 ghế so với ban đầu thì vừa đủ chỗ ngồi. Tính số dãy ghê có trong phòng họp lúc đầu, biết rằng số dãy ghế nhỏ hơn 50.
[Kỳ thi tuyển sinh lớp 10 Trung học phổ thông môn Toán học: Giải các phương trình sau: 2x^2 - 7x + 3 = 0; 9x^4 + 5x^2 - 4 = 0 (Âm nhạc - Lớp 1)](https://lazi.vn/edu/exercise/ky-thi-tuyen-sinh-lop-10-trung-hoc-pho-thong-mon-toan-hoc-giai-cac-phuong-trinh-sau-2x2-7x-3-0-9x4-5x2-4-0)
| |![]()
[Trần Phong](/user/phong.tran3) [Xác định phương thức biểu đạt chính được sử dụng trong đoạn trích? Đoạn trích chủ yếu sử dụng phép liên kết nào? (Ngữ văn - Lớp 1)](https://lazi.vn/edu/exercise/xac-dinh-phuong-thuc-bieu-dat-chinh-duoc-su-dung-trong-doan-trich-doan-trich-chu-yeu-su-dung)
| |![]()
[thu hằng](/user/toan.hang) [Viết tiếng trong bài có vần iêt (Tiếng Việt - Lớp 1)](https://lazi.vn/edu/exercise/viet-tieng-trong-bai-co-van-iet)
| |![]()
[Chương Nguyễn](/user/chuong.nguyen7) [Ghi lời của Minh: Khi gặp bác đưa thư. Bác đưa thư: Chào cháu! Cháu ở số nhà này phải không? (Tiếng Việt - Lớp 1)](https://lazi.vn/edu/exercise/ghi-loi-cua-minh-khi-gap-bac-dua-thu-bac-dua-thu-chao-chau-chau-o-so-nha-nay-phai-khong)
| |![]()
[Chương Nguyễn](/user/chuong.nguyen7) [Các số có hai chữ số mà cộng hai chữ số của mỗi số đều bằng 3 là? (Toán học - Lớp 1)](https://lazi.vn/edu/exercise/cac-so-co-hai-chu-so-ma-cong-hai-chu-so-cua-moi-so-deu-bang-3-la)
| |![]()
[Quang Tran](/user/quang.tran11) [Vai trò của năng lượng mặt trời đối với con người như thế nào? (Khoa học - Lớp 1)](https://lazi.vn/edu/exercise/vai-tro-cua-nang-luong-mat-troi-doi-voi-con-nguoi-nhu-the-nao)
| |![]()
[Thành Long Nguyễn](/user/thanh-long.nguyen2)
BẢNG XẾP HẠNG TOP THÀNH VIÊN
**Tuần 12 - 18/08**| **Tháng 08-2018**| **Yêu thích** ![](https://lazi.vn/uploads/icon/heart_smallest.png)
![](https://lazi.vn/uploads/icon/heart_smallest.png)
| |![]()
[Tháng 7](/event/d/37/giai-thuong-thang-7-nam-2018) ![](https://lazi.vn/uploads/icon/survey.png)
![](https://lazi.vn/uploads/icon/survey.png)
[Trắc nghiệm](/quiz) ![](https://lazi.vn/uploads/icon/statistics.png)
![](https://lazi.vn/uploads/icon/statistics.png)

Cache-Control: post-check=0, pre-check=0, max-age=0


markdown:
*Ngày nay, thực trạng nấm linh chi thật giả lẫn lộn trên thị trường đã gây hoang mang cho người tiêu dùng khi quyết định chọn mua nấm linh chi. Vì vậy, bài viết sau sẽ hướng dẫn các bạn cách nhận biết nấm linh chi chính hãng giải quyết nỗi băn khoăn cho những ai không biết nên mua nấm linh chi ở đâu chất lượng.* **Bài viết tham khảo:**
Nấm linh chi mọc được ở đâu
**>>** Không thể bỏ lỡ sản phẩm của chúng tôi **Nấm linh chi xanh** [ ở đâu uy tín, cũng như đảm bảo chất lượng nhận được rất nhiều sự quan tâm của người hâm mộ. Bởi vì, hiện nay công nghệ làm giả nấm linh chi đã phát triển hơn nên người dùng rất khó phát hiện ra đâu là nấm linh chi thật, đâu là giả. Tuy nhiên, khi mua nấm linh chi nếu cẩn thận nhận biết thì sẽ hạn chế được việc mua lầm. Cách nhận biết như sau: Mua nấm linh chi](https://linhchiphucnguyen.com/)
Nấm linh chi chính hãng thường có dạng méo, hơi tròn, hiếm khi có hình dạng quả thận đồng đều do khuôn đúc của hàng nhái. Màu sắc của nấm linh chi thật hơi ngả màu vàng chanh ở mặt dưới và xuất hiện ít vết trầy màu trắng.
Đối với nấm linh chi thật, khi dùng tay ấn mạnh sẽ có cảm giác cứng chắc. Bề mặt nấm phải phủ màu nâu tự nhiên thì mới là sản phẩm chất lượng.
[ sẽ có mùi thơm nhẹ và có vị hơi đắng. Nếu người dùng mua sản phẩm về dùng sắc lấy nước uống cảm nhận được vị đắng và nồng ở cổ họng rồi dịu nhẹ lại ở nước đầu tiên thì đó là hàng chính hãng. Ngoài ra, khi bạn dùng nấm linh chi thật sắc ở nước nhị và nước ba vẫn còn lưu lại vị đắng mà không bị vẩn đục, vị hơi chua thì chắc chắn đó là nấm linh chi loại tốt. Nấm linh chi đỏ Hàn Quốc](https://linhchiphucnguyen.com/nam-linh-chi-hop-do/)
Ngoài ra, bao bì sản phẩm cũng là cách tốt nhất để phân biệt hàng chính hãng. Đối với nấm linh chi thượng phẩm xuất xứ Hàn Quốc, bao bì sẽ đóng gói cẩn thận, in đầy đủ nhãn mác, thông tin sử dụng,…và đặc biệt là dán tem logo biểu trưng của nhà sản xuất. Ngược lại, các sản phẩm hàng nhái, kém chất lượng sẽ không trau chuốt kỹ lưỡng về cách đóng gói và bao bì.
**>>** Xem ngay sản phẩm đáng mua nhất **Cao linh chi đỏ Hàn Quốc**
Mặc dù những cách trên vô cùng hiệu quả để phân biệt hàng thật, nhưng chỉ đạt kết quả tương đối và sẽ tốn rất nhiều thời gian cũng như công sức của khách hàng khi kiểm tra từng chi tiết. Vì vậy, để tránh mua lầm hàng giả, người dùng nên thật kỹ lưỡng để chọn cơ sở kinh doanh nổi tiếng, uy tín, được cấp phép bảo hộ và kiểm tra nghiêm ngặt từ cơ quan chức năng, đồng thời nhận nhiều phản hồi tích cực từ người dùng.
Địa chỉ mua hàng uy tín tại Phúc Nguyên Đường
Để giải đáp mua nấm linh chi ở đâu, bài viết xin giới thiệu đến các bạn
**Đông Y Phúc Nguyên Đường**, đây là cửa hàng uy tín hứa hẹn mang đến sản phẩm chất lượng, mang lại sự an tâm tuyệt đối cho khách hàng. Tại đây có bán rất nhiều sản phẩm thực năng tốt cho sức khỏe, chẳng hạn như: cao linh chi hộp gỗ, cao linh chi đỏ, nấm linh chi hộp đỏ, trà nấm linh chi, **, nấm linh chi xanh, nấm linh chi vàng, thuần linh chi nissan reishi, hồng sâm linh chi hàn quốc, sâm nhung linh chi, … cao linh chi gold samsung**
Để tìm hiểu thông tin về chúng tôi bạn có thể truy cập vô website chính:
**phucnguyenduong.com.vn** **>>** Xem ngay bài viết chi tiết về **Giá nấm linh chi vàng Hàn Quốc** **LINH CHI PHÚC NGUYÊN ĐƯỜNG** **Trụ sở:** Số 18 Lê Trực, P. Điện Biên, Q. Ba Đình, TP. Hà Nội.
**Showroom:** Số 6B, Trần Quốc Toản, P. Hàng Bài, Q. Hoàn Kiếm, TP. Hà Nội.
**Điện thoại:** **024.6275.5355 – 0966 588 858**
**Website:** [https://linhchiphucnguyen.com/](https://linhchiphucnguyen.com/) **Bài viết đang theo dõi:** **Bài viết được gắn thẻ:**

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: text/html

Content-Type: text/html; charset=UTF-8

X-Crawler-Transfer-Encoding: chunked

X-Crawler-Content-Encoding: gzip

Vary: Accept-Encoding

Accept-Ranges: bytes

Server: LiteSpeed

Connection: Keep-Alive


markdown:
Xã hội
Đời sống
Nói không với thực phẩm bẩn
Pháp luật
Tệ nạn
Thế giới
Chuyện lạ
Quân sự
Tin tức 24h
Kinh tế
Bất động sản
Chứng khoán
Doanh nghiệp
Kinh doanh
Thị trường
Thương mại điện tử
Việc làm
Xe
Gia đình
Khoảnh khắc
Nếp nhà
Nhà đẹp
Sức khỏe
Tâm sự
Giáo dục
Du học
Học đường
Kiến thức
Kiến trúc
Thủ thuật
Thể thao
Bóng đá
Tin nổi bật
Nhịp sống
Công nghệ
Game
Hài
Số
Trắc nghiệm
Giải trí
Âm nhạc
Chuyện hot
Đẹp
Điện ảnh
Sao ngoại
Sao Việt
Du lịch
Ẩm thực
Du lịch đó đây
Khách sạn & Resort
Phượt
Tin tức
Tìm kiếm
raovatz.vn
muabanz.vn
Sign in
Welcome! Log into your account
your username
your password
Forgot your password? Get help
Password recovery
Recover your password
your email
A password will be e-mailed to you.
Kênh tin tức tổng hợp
Xã hội
All
Đời sống
Nói không với thực phẩm bẩn
Pháp luật
Tệ nạn
Trung Quốc lại rúng động vì bắt được hàng trăm tấn…
11 cách bảo toàn tối đa dinh dưỡng thực phẩm sau…
Hàng loạt nhà khoa học cảnh báo tác hại của máy…
Dầu chiên mì ăn liền có thực sự nguy hại?
Thế giới
All
Chuyện lạ
Quân sự
Tin tức 24h
Tin tức 24h
Thủ tướng Campuchia cảm ơn Trung Quốc sau bầu cử
Tin tức 24h
Thổ Nhĩ Kỳ cùng Nga bán tháo trái phiếu Mỹ
Tin tức 24h
Nga-Thổ Nhĩ Kỳ-Iran gặp nhau cùng gỡ rối ở Syria
Tin tức 24h
Syria đánh Idlib, Thổ xua quân trấn giữ cao tốc M5…
Kinh tế
All
Bất động sản
Chứng khoán
Doanh nghiệp
Kinh doanh
Thị trường
Thương mại điện tử
Việc làm
Xe
Doanh nghiệp
Bộ Công Thương: Công ty cổ phần Con Cưng mắc 3…
Doanh nghiệp
FutureNet có dấu hiệu kinh doanh đa cấp trái phép
Thị trường
Gạo Việt Nam khó cạnh tranh trên thị trường Ấn Độ…
Bất động sản
Mỹ dọa trừng phạt mạnh tay hơn với Thổ Nhĩ Kỳ…
Gia đình
All
Khoảnh khắc
Nếp nhà
Nhà đẹp
Sức khỏe
Tâm sự
Nhà đẹp
Ngôi nhà trắng không tỳ vết ở Nhật
Nhà đẹp
Ngôi nhà trắng không tỳ vết ở Nhật
Nhà đẹp
Ngôi nhà Đà Nẵng đẹp lạ dù bị ‘cắt’ làm 3…
Nhà đẹp
Ngôi nhà Đà Nẵng đẹp lạ dù bị ‘cắt’ làm 3…
Giáo dục
All
Du học
Học đường
Kiến thức
Kiến trúc
Thủ thuật
Kiến trúc
Đâu cần hở hang, kín đáo thế này Thư Dung đã…
Kiến trúc
Lần đầu công bố chỉ số APCI 2018: Thủ tục thuế…
Kiến trúc
Quang Hải: “Không quan trọng vai trò của tôi ở Olympic…
Kiến trúc
Video: TTTM bất ngờ sập trần, nước trút xuống thang cuốn…
Thể thao
All
Bóng đá
Tin nổi bật
Tin nổi bật
Olympic Việt Nam thắng Nepal nhưng lộ yếu huyệt?
Tin nổi bật
Olympic Việt Nam đấu Nepal: Khó trong dự tính thầy Hàn
Tin nổi bật
Olympic Việt Nam đấu Nepal: Đối thủ không dễ nhằn
Tin nổi bật
Việt Nam thắng Pakistan: Khi thầy Hàn không nghe chuyên gia…
Nhịp sống
All
Công nghệ
Game
Hài
Số
Trắc nghiệm
Số
Motorola bị chế giễu “không biết xấu hổ” khi nhái iPhone…
Công nghệ
Video: Bắt cóc hụt em bé đang được bà bế trên…
Số
Samsung sẽ làm smartphone cao cấp hơn cả Galaxy Note
Hài
30 năm kinh nghiệm ở tuổi 20
Giải trí
All
Âm nhạc
Chuyện hot
Đẹp
Điện ảnh
Sao ngoại
Sao Việt
Sao ngoại
Sự nghiệp lẫy lừng của ca sĩ Aretha Franklin vừa qua…
Sao ngoại
Chân dung tài tử TVB Mã Đức Chung đến Việt Nam
Sao ngoại
“Phát sốt” cặp Anh Lạc và Càn Long trong “Diên Hi…
Sao ngoại
Chân dung tài tử TVB Mã Đức Chung đến Việt Nam
Du lịch
All
Ẩm thực
Du lịch đó đây
Khách sạn & Resort
Phượt
Tin tức
Ẩm thực
Tiệm Bánh Mì Phượng
Ẩm thực
Mỳ Quảng Bà Mua
Ẩm thực
Hải Sản Bé Mặn
Ẩm thực
Nhà Hàng Trung Vịt
Home
Tác giả
Posts by Khỏe 365
Khỏe 365
54 POSTS
0 COMMENTS
Trung Quốc lại rúng động vì bắt được hàng trăm tấn...
Khỏe 365
-
October 23, 2016
0
11 cách bảo toàn tối đa dinh dưỡng thực phẩm sau...
Khỏe 365
-
October 13, 2016
0
Hàng loạt nhà khoa học cảnh báo tác hại của máy...
Khỏe 365
-
September 17, 2016
0
Dầu chiên mì ăn liền có thực sự nguy hại?
Khỏe 365
-
September 16, 2016
0
Lý do không nên ngâm rau quả bằng nước muối để khử...
Khỏe 365
-
September 14, 2016
0
Nghiên cứu bất ngờ: Không cần trứng, đàn ông tự có...
Khỏe 365
-
September 13, 2016
0
Kinh hoàng phát hiện rong biển nghi làm bằng… nilon
Khỏe 365
-
September 12, 2016
0
Giật mình hành khô làm giả từ khoai tây thối, mọc...
Khỏe 365
-
September 6, 2016
0
Thanh Hóa: Tiêu hủy hơn 4.000 bánh trung thu mốc tái...
Khỏe 365
-
September 2, 2016
0
Sự thật về loại nhãn lạ được cho là xông lưu huỳnh?
Khỏe 365
-
August 30, 2016
0
1
2
3
...
6
Trang 1 of 6
XEM NHIỀU NHẤT
Chết mê với thân hình đẹp mẫu mực của hot girl...
July 18, 2018
99% người xài iPhone không hề biết đến mẹo vặt thú...
May 7, 2017
8 sai lầm phổ biến và giải pháp khắc phục khi...
March 23, 2017
Vì sao Công Vinh đột ngột tuyên bố giã từ bóng...
December 8, 2016
Xem thêm
MỚI NHẤT
Trung Quốc nhận trái đắng từ Triều Tiên
iPhone 7 Plus phát ra tiếng rít như… laptop khi tải...
TPHCM: Xe khách cháy dữ dội trên cao tốc, 30 người...
7 hiểu lầm về chuyện giảm cân mà bạn cần tỉnh...
Xã hội
All
Đời sống
Nói không với thực phẩm bẩn
Pháp luật
Tệ nạn
Trung Quốc lại rúng động vì bắt được hàng trăm tấn…
11 cách bảo toàn tối đa dinh dưỡng thực phẩm sau…
Hàng loạt nhà khoa học cảnh báo tác hại của máy…
Dầu chiên mì ăn liền có thực sự nguy hại?
Thế giới
All
Chuyện lạ
Quân sự
Tin tức 24h
Tin tức 24h
Thủ tướng Campuchia cảm ơn Trung Quốc sau bầu cử
Tin tức 24h
Thổ Nhĩ Kỳ cùng Nga bán tháo trái phiếu Mỹ
Tin tức 24h
Nga-Thổ Nhĩ Kỳ-Iran gặp nhau cùng gỡ rối ở Syria
Tin tức 24h
Syria đánh Idlib, Thổ xua quân trấn giữ cao tốc M5…
Kinh tế
All
Bất động sản
Chứng khoán
Doanh nghiệp
Kinh doanh
Thị trường
Thương mại điện tử
Việc làm
Xe
Doanh nghiệp
Bộ Công Thương: Công ty cổ phần Con Cưng mắc 3…
Doanh nghiệp
FutureNet có dấu hiệu kinh doanh đa cấp trái phép
Thị trường
Gạo Việt Nam khó cạnh tranh trên thị trường Ấn Độ…
Bất động sản
Mỹ dọa trừng phạt mạnh tay hơn với Thổ Nhĩ Kỳ…
Gia đình
All
Khoảnh khắc
Nếp nhà
Nhà đẹp
Sức khỏe
Tâm sự
Nhà đẹp
Ngôi nhà trắng không tỳ vết ở Nhật
Nhà đẹp
Ngôi nhà trắng không tỳ vết ở Nhật
Nhà đẹp
Ngôi nhà Đà Nẵng đẹp lạ dù bị ‘cắt’ làm 3…
Nhà đẹp
Ngôi nhà Đà Nẵng đẹp lạ dù bị ‘cắt’ làm 3…
Giáo dục
All
Du học
Học đường
Kiến thức
Kiến trúc
Thủ thuật
Kiến trúc
Đâu cần hở hang, kín đáo thế này Thư Dung đã…
Kiến trúc
Lần đầu công bố chỉ số APCI 2018: Thủ tục thuế…
Kiến trúc
Quang Hải: “Không quan trọng vai trò của tôi ở Olympic…
Kiến trúc
Video: TTTM bất ngờ sập trần, nước trút xuống thang cuốn…
Thể thao
All
Bóng đá
Tin nổi bật
Tin nổi bật
Olympic Việt Nam thắng Nepal nhưng lộ yếu huyệt?
Tin nổi bật
Olympic Việt Nam đấu Nepal: Khó trong dự tính thầy Hàn
Tin nổi bật
Olympic Việt Nam đấu Nepal: Đối thủ không dễ nhằn
Tin nổi bật
Việt Nam thắng Pakistan: Khi thầy Hàn không nghe chuyên gia…
Nhịp sống
All
Công nghệ
Game
Hài
Số
Trắc nghiệm
Số
Motorola bị chế giễu “không biết xấu hổ” khi nhái iPhone…
Công nghệ
Video: Bắt cóc hụt em bé đang được bà bế trên…
Số
Samsung sẽ làm smartphone cao cấp hơn cả Galaxy Note
Hài
30 năm kinh nghiệm ở tuổi 20
Giải trí
All
Âm nhạc
Chuyện hot
Đẹp
Điện ảnh
Sao ngoại
Sao Việt
Sao ngoại
Sự nghiệp lẫy lừng của ca sĩ Aretha Franklin vừa qua…
Sao ngoại
Chân dung tài tử TVB Mã Đức Chung đến Việt Nam
Sao ngoại
“Phát sốt” cặp Anh Lạc và Càn Long trong “Diên Hi…
Sao ngoại
Chân dung tài tử TVB Mã Đức Chung đến Việt Nam
Du lịch
All
Ẩm thực
Du lịch đó đây
Khách sạn & Resort
Phượt
Tin tức
Ẩm thực
Tiệm Bánh Mì Phượng
Ẩm thực
Mỳ Quảng Bà Mua
Ẩm thực
Hải Sản Bé Mặn
Ẩm thực
Nhà Hàng Trung Vịt
© © Copyright 2016 mattroi.vn

Server: Apache/2.2.27 (CentOS)

Vary: Cookie,Accept-Encoding,User-Agent

Keep-Alive: timeout=15, max=100


markdown:
[Hướng dẫn cài đặt phần mềm kế toán Maxv Pro (Phần 1)](https://maxv.vn/huong-dan-cai-dat-phan-mem-ke-toan-maxv-pro-phan-1/)
Hướng dẫn cài đặt phần mềm kế toán Maxv Pro cho 1 máy đơn lẻ Chọn chương trình cài đặt MvAccPro15.0.exe Từ đĩa cài đặt hoặc thư mục trên máy tính có chứa bộ cài đặt chương trình chọn file MvAccPro15.0.exe Chạy chương trình MvAccPro15.0.exe – Kích đúp chuột trái để chạy file MvAccPro15.0.exe tr[...]

Link: <https://maxv.vn/?p=462>; rel=shortlink


markdown:
Mayaocuoidep.com chuyên nhận may váy cưới các loại, áo dài cô dâu, áo dài bưng quả… với nhiều kiểu dáng đẹp giá cả cạnh tranh.
Xưởng may của chúng tôi thường xuyên cập nhật catalouge mới nhất về trang phục cưới, đặc biệt là váy cưới. Chất liệu chúng tôi sử dụng là những chất liệu cao cấp được nhập khẩu từ nước ngoài và được hoàn thiện bởi những người thợ lành nghề nhất bằng phương pháp thủ công, vì thế những chiếc váy cưới đến tay bạn sẽ là những sản phẩm tinh tế và tỉ mỉ nhất.
may va ban ao cuoi gia si sai gon, may va ban ao cuoi gia si tphcm, may vay cuoi dep go vap, ban vay cuoi dep go vap, may va ban vay cuoi dep go vap
[anh cuoi dep ho coc](http://penpenstudio.com/album/anh-cuoi-ho-coc-ba-ria-vung-tau-11.html), [anh cuoi dep phim truong](http://penpenstudio.com/album/anh-cuoi-phim-truong-9.html), [anh cuoi dep da lat](http://penpenstudio.com/album/anh-cuoi-da-lat-8.html), [anh cuoi dep sai gon](http://penpenstudio.com/album/anh-cuoi-ngoai-canh-sai-gon-13.html), [anh cuoi dep da nang](http://penpenstudio.com/album/anh-cuoi-da-nang-hoi-an-ba-na-hill-12.html), [anh cuoi dep ly son](http://penpenstudio.com/album/anh-cuoi-ly-son-18.html), studio chup anh cuoi dep tphcm, studio chup anh cuoi dep go vap, studio chup anh cuoi dep sai gon
Mọi thông tin về báo giá và tư vấn các bạn có thể liên hệ:
** . Felecia bridal**
Địa chỉ: căn hộ 0.28 tầng trệt – Lô C, chung cư Khang Gia – đường Phan Huy Ích – q.Gò Vấp.
Phone: 0982024785 (ms.Trang), 0972913838(mr.Thoa)
Email: ms.art.2008@gmail.com
Website:
[http://www.mayaocuoidep.com](http://www.mayaocuoidep.com/)
Fanpage: https://www.facebook.com/ban.si.va.le.ao.cuoi/

Server: nginx

Connection: keep-alive

Vary: Cookie

X-hacker: If you're reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.

X-ac: 3.dca _dca


markdown:
Bộ xếp hình
**"Lego Disney Princess 41050 - Kho Báu Nàng Tiên Cá"** là sự hóa thân của nàng tiên cá xinh đẹp từ câu chuyện cổ tích vào sản phẩm lắp ghép của Lego. Với 77 mảnh ghép, bé đã có thể tái hiện được câu chuyện của nàng tiên cá Ariel trong thế giới dưới nước tuyệt vời.
Được trải nghiệm cuộc sống của Ariel bé sẽ được tậm mắt chứng kiến rạng san hô đẹp tuyệt, cùng nàng lẩn trốn trong các kho báu bí mật để tránh được sự săn bắt, rình rập của con người, ngoài ra, nàng tiên cá xinh đẹp còn có khả năng hát rất hay, hãy giúp Ariel qua được chiếc cổng sắt đến chơi cùng với Flounder.
Đến với bộ xếp hình Lego Kho Báu Nàng Tiên Cá bé không chỉ được thỏa sức sáng tạo, phát triển trí tưởng tượng của mình, mà còn tập được tính cẩn thận tỉ mỉ trong từng chi tiết. Bộ ghép hình tuy không có quá nhiều mảnh ghép, nhưng để hoàn thành mô hình bé sẽ cần phải có sự tập trung, kiên trì và sáng tạo.
Bên cạnh đó còn có rất nhiều sản phẩm cùng chủ đề Disley Princess như:
[Trò Chơi Của Merida](http://megamart.vn/tro-choi-cua-merida-5795472.html), [Tháp Sáng Tạo của Rapunzel](http://megamart.vn/thap-sang-tao-cua-rapunzel-5796847.html), [Phép Màu Nàng Tiên Cá](http://megamart.vn/phep-mau-nang-tien-ca-5899411.html), …
Thương hiệu: LEGO
Mã sản phẩm : 41050
Kích thước: 4.5 x 15.7 x 14.1 cm.
Số Mảnh ghép: 77
Độ Tuổi: 5 - 12
Chất liệu: Nhựa ABS
Xuất xứ: Đan Mạch
## Thảo luận bằng Facebook

Content-Type: text/html; charset=utf-8

Cache-Control: private

Set-Cookie: _orig_referrer=; expires=Sun, 02-Sep-2018 02:19:04 GMT; path=/; HttpOnly

X-Page: product-detail

X-Cache: miss

P3P: CP="NOI DSP COR NID ADMa OPTa OUR NOR"

X-Content-Type-Options: nosniff

X-XSS-Protection: 1; mode=block


markdown:
[
Khối Bắc Mỹ, Phường Quỳnh Thiện, TX. Hoàng Mai, Quỳnh Lưu , Nghệ An
(Xem bản đồ)
](javascript:;)
Khách sạn đang chờ duyệt giá.
[
2 Trường Thi, Vinh , Nghệ An
(Xem bản đồ)
](javascript:;)
[
Đường Vào chợ Hải Sản, Cách trung tâm biển 40m, Phường Thu Thủy, Cửa Lò , Nghệ An
(Xem bản đồ)
](javascript:;)
[
74 Lê Lợi, Phường Hưng Bình, Vinh , Nghệ An
(Xem bản đồ)
](javascript:;)
[
224 Đường Bình Minh, Cửa Lò , Nghệ An
(Xem bản đồ)
](javascript:;)
[
1 Phan Bội Châu, Phường Quán Bàu, Vinh , Nghệ An
(Xem bản đồ)
](javascript:;)
[
74 Lê Hồng Phong, Phường Hưng Bình, Vinh , Nghệ An
(Xem bản đồ)
](javascript:;)
[
Bãi biển Diễn Thành, Nghệ An, Diễn Châu , Nghệ An
(Xem bản đồ)
](javascript:;)

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache


markdown:
Tag:
Giấm hương giúp thúc đẩy sản xuất collagen một cách tự nhiên, làm đẹp da, chống lão hóa, giảm lượng mỡ thừa, tăng cường hệ...
Dựa trên quan điểm lấy độc giả làm trung tâm, chúng tôi mong rằng sẽ nhận được những góp ý và mong muốn của bạn về 2 tiêu chí:Thiết kế giao diện Trải nghiệm đọc tin

WARC-Identified-Payload-Type: application/xhtml+xml

Set-Cookie: device_env=4; expires=Sat, 25-Aug-2018 02:55:58 GMT; path=/; domain=ngoisao.net

Cache-Control: max-age=0, no-cache


markdown:
Tag:
Tại Nhật con gái sẽ là người chủ động tặng quà còn Valentine tại Australia là ngày dành cho cả các thành viên trong gia...
Dựa trên quan điểm lấy độc giả làm trung tâm, chúng tôi mong rằng sẽ nhận được những góp ý và mong muốn của bạn về 2 tiêu chí:Thiết kế giao diện Trải nghiệm đọc tin

Set-Cookie: device_env=4; expires=Sat, 25-Aug-2018 02:56:04 GMT; path=/; domain=ngoisao.net


markdown:
Địa chỉ: Số 46, Đường Linh Đàm, Khu đô thị Bắc Linh Đàm, Hoàng Mai, Hà Nội
Địa chỉ: 116 Nơ Trang Long, phường 14, Q. Bình Thạnh, TP.HCM
Bán lẻ: 0911 666 359 - Dự án: 0917.281.359 - 0913.161.359

Cache-Control: no-store, no-cache, must-revalidate, max-age=0

Set-Cookie: CakeCookie[productsSeen]=%5B%22ghe-xoay-duc-khang-m1017-03%22%5D; expires=Sun, 19-Aug-2018 02:46:33 GMT; Max-Age=86400; path=/

X-Frame-Options: SAMEORIGIN

X-Supported-By: Kloxo-MR 7.0

Strict-Transport-Security: max-age=2592000; preload

X-Micro-Cache: MISS


Set-Cookie: CakeCookie[productsSeen]=%5B%22gia-sieu-thi-gst13%22%5D; expires=Sun, 19-Aug-2018 02:48:06 GMT; Max-Age=86400; path=/


markdown:
BỘ SALON TAY 12 KM
BỘ SALON TAY 10 KM
BÀN THỜ THẦN TÀI KM
GIƯỜNG NGỦ GỖ SỒI KM
BỘ SALON THÙNG MALAY
TRƯỜNG KỶ NAN KM
TỦ GIÀY DÉP GỖ MDF CAO CẤP KM
GIƯỜNG HỘC KÉO GỖ SỒI KM
GHẾ TRƯỜNG KỶ GỖ CĂM XE
GIƯỜNG NỮ HOÀNG
BÀN TRANG ĐIỂM NỮ HOÀNG
GIƯỜNG NGỦ GỖ XOAN ĐÀO
NỆM CAO SU THIÊN NHIÊN 20P
KỆ TIVI GỖ ĐINH HƯƠNG 2M
BỘ SALON TAY 8 GỖ XOAN ĐÀO
KỆ TI VI GỖ XOAN ĐÀO KM
BỘ BÀN ĂN OVAL MẶT KÍNH 6 GHẾ
BỘ BÀN ĂN LY TÂM SÁU GHẾ
KỆ TI VI CAO CẤP
SOFA PHÒNG KHÁCH
TỦ QUẦN ÁO GỖ SỒI 3 CÁNH
BỘ BÀN GHẾ SOFA GÓC
BỘ SALON THÙNG XOAN BÀN KIẾNG
BỘ SALON THÙNG GỖ XOAN ĐÀO
Giá bán:
5.800.000 đ
Ghế Sofa bàn kiếng là sản phẩm nội thất được sử dụng để tiếp khách, làm tăng tính sang trọng cho phòng khách cũng như sự thân thiện với khách đến thăm.
CHI TIẾT SẢN PHẨM

Content-Language: vi

Cache-Control: no-cache, pre-check=0, post-check=0

Set-Cookie: nv4c_d75uJ_nvvithemever=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=.phogovip.vn; httponly

Keep-Alive: timeout=5, max=100


markdown:
làm cho bài đăng này được yêu thích
Th08 14
Accounting/ Operations Assistant (m/f) for Online-Travel Agency
(ber > Berlin)
ảnh
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th08 13
Mitarbeiterin Buchhaltung
(ber)
ảnh
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th08 8
Accounts Receivable Clerk USA (m/f) - ENGLISH - @Sixt rent a car
(ber > Berlin)
ảnh
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th08 7
Bürokraft: 20 - 35 Stunden/Woche (Buchhaltung, Office-Management)
(ber)
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th08 1
Werkstudent (m/w) Finance / Office Management / Buchhaltung
(ber > Berlin)
ảnh
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th07 27
Praktikum/Werkstudent im Bereich Finance (m/w)
(ber > Berlin)
ảnh
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th07 26
Account Manager - Catering (VOLLZEIT)
(ber > Mitte)
ảnh
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th07 25
Seeking bookkeeper on freelance basis
(ber > Kreuzberg)
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th07 24
Werkstudent (m/w) Finance / Office Management / Buchhaltung
(ber > Berlin)
ảnh
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th07 16
Free Personal Assistant In Exchange For Investment/Business Mentoring
(ber)
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th07 9
Technical Cloud Cost Controller (f/m)
(ber > Berlin, Germany)
ẩn bài đăng này
kh.phục
kh.phục bài đăng này
làm cho bài đăng này được yêu thích
Th07 5
Payroll Manager / Lohn- und Gehaltsbuchhalter (w/m)
(ber > Berlin)
ảnh
ẩn bài đăng này
kh.phục
kh.phục bài đăng này

Cache-Control: max-age=900, public

Server: Apache


markdown: Địa chỉ: 151/21A nguyễn trãi P2 Q5 Tp.hcm. Mình ở nhà bán cả ngày từ sáng 7h -> 10h30 tối, các bạn đến mua lúc nào cũng được Gần ngã tư Lê Hồng Phong & Nguyễn Trãi. Đầu hẻm là shop N&M, đối diện chợ Bàu Sen, chạy vào hẻm 151 tìm số nhà 21, kế bên có 1 cái hẻm nhỏ, nhà đầu tiên số 21A là nhà mình.Phone: 08.39233176Điện thoại:0908.224.065 Quần đùi Thái Lan 60k/quần - Quần đùi ngủ, quần đi biển. - Thun thoáng mát, màu sắc tươi tắn. - Hàng Thái Lan xách tay.

Server: Apache/2.2.15 (CentOS)

Cache-control: private, max-age=0

Set-Cookie: rvtt_session=93c4c633d4c73bcb7972ff6bc8b6a6e9; path=/; secure; httponly

Connection: close


markdown:
![ Thỏa sức sáng tạo cùng ốp tường gỗ ( ốp lamri ) tại Sàn Gỗ Nhà Rồng](https://sangonharong.vn/images/post/news_event_s871.jpg)
![ Thỏa sức sáng tạo cùng ốp tường gỗ ( ốp lamri ) tại Sàn Gỗ Nhà Rồng](https://sangonharong.vn/images/post/news_event_s871.jpg)
Sàn gỗ Egger H1068 là loại
**sàn gỗ công nghiệp cao cấp** của Đức, sử dụng lớp cốt gỗ HDF chịu nước, được đánh giá là loại ván gỗ có khả năng chịu nước tốt nhất tại thị trường Việt Nam hiện nay.
Với những gam màu đẹp, riêng biệt, mang đến nhiều kiểu kiến trúc không gian riêng, sống động, chân thật và đầy cảm xúc. Nổi bật về khả năng chịu nước và chống ẩm đã và đang chinh phục nhiều đối tượng khách hàng khó tính và kỷ lưỡng trên toàn thế giới trong hơn 50 năm phát triển thương hiệu
**sàn gỗ Đức egger**.
Sau đây là những yếu tố không thể bỏ qua khi lựa chọn
**sàn gỗ công nghiệp cao cấp** của Đức egger:
- Quy cách kích thước: 1291mm x 135mmx 11mm , độ dày 11mm giúp sàn gỗ tăng thêm độ chắc chắn và khả năng chịu lực.
- Khả năng chịu nước: Độ trương nở thấp và kháng nước khi ngâm trong nước 72h liền mà không cong vênh, không phồng rộp phù hợp với môi trường có độ ẩm cao. Khi đem sấy khô thì trở về trạng thái ban đầu, quá tuyệt vời đúng không?
- Gam màu và vân gỗ đạt độ tinh tế cao nhất :Vân gỗ đẹp và sắt nét nhất.
- Công nghệ tự phục hồi lớp bề mặt dưới ngoại lực, độ đàn hồi cao.
- Chống cháy, tia UV
- CHống mối mọt, chống ẩm, chống thấm.
- Công nghệ hèm khóa cao cấp, độc quyền, tăng độ chắc chắn cho các mối ghép và dễ dàng tháo lắp.
Sàn Gỗ Nhà Rồng là công ty xuất nhập khẩu
**sàn gỗ công nghiệp cao cấp **của Đức Egger hàng đầu tại thị trường Việt Nam. Bạn có thể xem thêm các loại sàn gỗ egger với gam màu khác và phong cách khác để phù hợp với thị hiếu và gu thẩm mỹ của bạn như:
SÀN GỖ EGGER H1085, SÀN GỖ EGGER H1084, SÀN GỖ EGGER H2731, SÀN GỖ EGGER H2781, SÀN GỖ EGGER H1023, SÀN GỖ EGGER H1068,
[, SÀN GỖ EGGER H1004 AQUA+, SÀN GỖ EGGER H2350 AQUA+, SÀN GỖ EGGER H2678 AQUA+, SÀN GỖ EGGER H2725 AQUA+, SÀN GỖ EGGER H2643 AQUA+, SÀN GỖ EGGER H1001, SÀN GỖ EGGER H1005, SÀN GỖ EGGER H1007, SÀN GỖ EGGER H1053, SÀN GỖ EGGER H1055, SÀN GỖ EGGER H1059, SÀN GỖ EGGER H2643, SÀN GỖ EGGER H2703, SÀN GỖ EGGER H2712, SÀN GỖ EGGER H2726, SÀN GỖ EGGER H2713, SÀN GỖ EGGER H2727, SÀN GỖ EGGER H2350. SÀN GỖ EGGER H1024](http://sangonharong.vn/san-go-3/san-go-cong-nghiep-egger-h1024-1370.html)
Công ty XNK Sàn Gỗ Nhà Rồng chúng tôi cung cấp sàn gỗ chính hãng với giá cạnh tranh nhất trên thị trường, bàn giao cho khách hàng trước khi lắp đặt là nguyên đai, nguyên kiện. Miễn phí vận chuyển, miễn phí bốc vác hàng, miễn phí kê đồ khi lắp đặt, miễn phí bào cửa. Thi công sàn gỗ chuẩn quy trình và nhanh chóng bởi đội ngũ thợ chuyên nghiệp và đông đảo, thâm niên tối thiểu 5 năm lát sàn. Bảo hành uy tín trách nhiệm với thời gian lên đến 10 năm theo tiêu chuẩn chính hãng. Đặc biệt hỗ trợ sửa chữa sàn gỗ hỏng do lỗi khách hàng với chi phí thấp nhất.
Hãy gọi ngay cho chúng tôi theo Hotline: 0902.426.959 để được tư vấn miễn phí và báo giá sàn gỗ tốt nhất.
**CÔNG TY TNHH XNK SÀN GỖ NHÀ RỒNG** **KHO SÀN GỖ MIỀN NAM**
Địa Chỉ: 233 Cộng Hòa, P.13, Q. Tân Bình, TP.HCM
Điện Thoại: 0902.426.959
Email: sangonharong@gmail.com
Website:
[https://sangonharong.vn](https://sangonharong.vn/)
|
|![]()

Connection: Upgrade, Keep-Alive

Keep-Alive: timeout=5, max=60

Content-Type: text/html


markdown:
Các cô gái cùng một cung Hoàng đạo sẽ có chung một số điểm cả về cá tính lẫn sở thích. Bạn hoàn toàn có thể dựa vào những đặc điểm chung của từng cung hoàng đạo để lựa chọn được món quà 8-3 hợp ý bạn gái.
Dưới đây là gợi ý
[ nhé! quà 8-3 cho các cung hoàng đạo](https://shopquatang.org/qua-8-3-cho-cac-cung-hoang-dao/) **Bạch Dương ( 21/3 – 19/4)**
Bạch Dương là cô nàng nhiệt tình, chủ động nên họ thích những thứ mới mẻ, lạ mắt. Do vậy, những món quà có giá trị, mới lạ sẽ thỏa mãn tính hiếu kì của các cô nàng Bạch Dương này.
Các chàng hãy thể hiện sự tinh tế của bạn dành tặng cho nàng lọ nước hoa mùi thể thao, túi xách kiểu dáng độc đáo, khăn quàng cổ in hoa văn đặc biệt…. Chắc chắn khi nhận được món quà này cô nàng Bạch Dương sẽ vô cùng thích đấy.
**Kim Ngưu (20/4 – 20/5)**
Cô nàng Kim Ngưu sống khá thực tế, họ không thích sự phung phí. Do vậy nếu chàng quen một cô nàng Kim Ngưu, chàng có thể tặng nàng một đôi giày thật xinh xắn, bộ mỹ phẩm dưỡng da trong ngày 8/3 này. Đôi giày này có ý nghĩa đưa em đến nhiều nơi đẹp hơn…
**Song Tử (21/5 – 21/6)**
Sở thích của các nữ Song Tử khá phong phú vì thế khi chọn quà 8/3 cho cô nàng này không dễ chút nào. Đồng thời, các cô nàng này khá hoạt bát, vui vẻ và ham hiểu biết. Các chàng có thể tặng nàng hộp socola mix nhiều vị, bộ nước hoa hoặc mỹ phẩm. Chắc chắn với món quà này sẽ làm hài lòng cô nàng đa chiều này.
**Cự Giải (22/6 — 22/7)**
Cự Giải là một cô nàng rất chu đáo, dịu dàng, tế nhị. Bạn có thể tặng nàng món đồ trang trí trong nhà. Món quà mà bạn dành tặng cô nàng này có thể thú nhồi bông,
[gối in hình](https://shopquatang.org/danh-muc/goi-in-hinh-theo-yeu-cau/)….chắc chắn cô nàng Cự Giải sẽ vô cùng thích đó. **Sư Tử (23/7 – 22/8)**
Các cô nàng Sư Tử mang vẻ kiêu hãnh của chúa sơn lâm. Các bạn gái cung Sư Tử thường thích gây sự chú ý tới mọi người xung quanh. Do vậy, những món quà lộng lẫy, cá tính sẽ phù hợp với cô nàng này.
Những món quà bạn có thể dành tặng cô nàng Sư Tử: ví da, túi xách, áo thun in hình cá tính,
[balo in hình](https://shopquatang.org/danh-muc/balo/) siêu độc đáo… **Xử Nữ (23/8 – 22/9)**
Các cô nàng Xử Nữ thường coi trọng đời sống tinh thần. Với cung Xử Nữ thường thích tấm thiệp lãng mạn kèm theo một bó hoa hồng hoặc hoa tulip, một chiếc cốc huyền bí mang trong mình lời nhắn nhủ yêu thương. Món quà này sẽ vô cùng ý nghĩa dành tặng cô nàng Xử Nữ trong ngày 8/3 này đó. Để in hình hoặc lời nhắn lên ly các bạn vào đây nhé:
[https://shopquatang.org/danh-muc/in-hinh-len-ly-su-theo-yeu-cau/](https://shopquatang.org/danh-muc/in-hinh-len-ly-su-theo-yeu-cau/) **Thiên Bình (23/9 – 22/10)**
Thiên Bình là cô nàng thông minh, đồng thời cung Thiên Bình khó tính và dễ xét nét mọi thứ, đặc biệt họ chú trọng tới vẻ bề ngoài. Món quà mà chàng có thể dành tặng cô nàng Thiên Bình: một chiếc lắc tay nhỏ hay một chiếc áo nữ tính phù hợp với nàng trong ngày 8/3 này.
**Hổ Cáp (23/10 – 21/11)**
Cô nàng Hổ Cáp thường tính tình hay thay đổi, không ổn định. Vì thế, khi tặng quà cho nàng bạn cần lựa chọn coi trọng chất lượng và không cần số lượng nhé. Món quà 8/3 thích hợp với cô nàng này chính là lọ nước hoa có mùi thơm dịu ngọt.
**Nhân Mã (22/11 – 21/12)**
Các cô nàng thuộc chòm sao Nhân Mã thường cởi mở, phóng khoáng. Vì thế những món quà nhỏ thể hiện tình cảm chính là sự lựa chọn tốt nhất cho cô nàng này.
Các chàng có thể lựa chọn quà 8/3 cho nàng gồm 1 bó hoa tươi, hay một sợi dây chuyền có mặt hình trái tim khắc tên nàng trên đó. Nhận được món quà này, chắc chắn nàng Nhân Mã sẽ vô cùng xúc động đó.
**Ma Kết (22/12 – 19/1)**
Nhìn bên ngoài, Ma Kết có vẻ an phận nhưng tính cách bên trong Ma Kết chứa 2 thái cực đó là sự nhiệt tình và lạnh nhạt. Do vậy, chàng nên chọ món quà mang ý nghĩa tượng trưng để tặng cho nàng.
Chàng có thể tặng nàng món quà 8/3 như một chiếc nhẫn đính đá hay chiếc kính râm sành điệu…
**Bảo Bình (20/1 – 18/2)**
Bảo Bình là cô nàng vô cùng thông minh và đáng yêu. Cô nàng này cũng thu hút không ít người khác giới đó. Bảo Bình không phải là người dễ tính trong chuyện tình cảm. Những món quà chàng có thể lựa chọn dành tặng nàng vào 8/3 là một đôi giày xinh xắn hoặc một chiếc lắc chân đáng yêu và tinh xảo.
**Song Ngư (19/2 – 20/3)**
Các cô nàng Song Ngư khá dịu dàng và tế nhị. Nếu các chàng muốn tặng quà 8/3 cho cô nàng Song Ngư có thể tặng những món quà nhã nhặn để thể hiện tình cảm của mình dành cho nàng.
Món quà có thể dành tặng nàng như: một lọ tinh dầu mùi thơm nhẹ hay chai sữa tắm ngọt lịm nhé.
## Leave a Reply Cancel Reply

Set-Cookie: __cfduid=d22479c6e2fd448f62f54c7f1d792feb91534558935; expires=Sun, 18-Aug-19 02:22:15 GMT; path=/; domain=.shopquatang.org; HttpOnly

Vary: Accept-Encoding,Cookie,User-Agent

Cache-Control: private, must-revalidate

Server: cloudflare


markdown:
Giá gốc: 1.660.000₫
Giá khuyến mại 1.200.000₫
Thủ tục nhanh - gọn - có sim ngay cho KH tại của hàng, giao sim miễn phí trong 24 đối với KH xa
Bảo hành và thay sim miễn phí cho tất cả sim. Giảm 5% cước phí cho tất cả sim đăng ký tại Lộc Phát Gia
Chuyển sang trả trước miễn phí sau 6 tháng sử dụng, thủ tục chuyển đổi đơn giản, nhanh.
Chăm sóc khách hàng uy tín, chất lượng, uy tín. Chế độ hậu mãi tốt nhất - Bảo hàng thay sim miễn phí

Set-Cookie: _orig_referrer=; expires=Sun, 02-Sep-2018 03:15:16 GMT; path=/; HttpOnly


markdown:
![ ](https://tapchilaptrinh.vn/wp-content/uploads/2018/02/Clean-code.jpg)
# Mã sạch
Bạn đang đọc cuốn sách này bởi hai lý do. Đầu tiên, bạn là một lập trình viên. Thứ hai, bạn muốn trở thành một lập trình viên tốt hơn. Tốt rồi. Chúng ta cần lập trình tốt hơn.
Cuốn sách này viết về điều đó – lập trình tốt – và đầy những mã lệnh. Chúng ta sẽ soi xét mã lệnh theo nhiều hướng khác nhau. Ta sẽ nhìn mã từ đầu đến cuối, ngước lên nhìn mã từ dưới lên trên và lần theo các khối lệnh từ trong ra ngoài. Khi làm được điều đó thì ta sẽ hiểu rất nhiều điều về mã. Thêm vào đó, ta có thể kể ra sự khác biệt giữa mã tốt và mã tồi. Chúng ta sẽ biết cách viết mã tốt. Và chúng ta sẽ biết cách biến mã lệnh xấu thành mã lệnh tốt.
## Tương lai sẽ có lập trình
Ai đó có thể cho rằng sách toàn nói về mã đã là thứ gì đó lỗi thời – rằng bây giờ mã đã không còn là vấn đề nữa, rằng ta nên quan tâm tới những mô hình và yêu cầu thì hơn. Thực tế thì một số người cho rằng thời đại chúng ta bây giờ đang tiến gần tới sự kết thúc của việc viết mã. Sẽ sớm tới ngày tất cả các mã lệnh sẽ được tự động tạo ra thay vì phải viết. Rồi thì đơn giản là sẽ không còn cần tới lập trình viên nữa – bởi vì những người kinh doanh sẽ tạo ra chương trình từ những chi tiết kỹ thuật.
Vớ vẩn! Chúng ta sẽ không bao giờ thoát khỏi mã lệnh. Bởi vì mã lệnh đại diện cho các chi tiết của yêu cầu. Có những chi tiết ở một vài mức độ thậm chí không thể bỏ qua hay trừu tượng hóa được mà phải được đặc tả rõ ràng. Và quá trình đặc tả những yêu cầu thành những chỉ thị mà máy tính có thể thực thi được thì chính là sự lập trình. Một đặc tả như vậy chính là mã lệnh.
Tôi mong rằng mức độ trừu tượng của các ngôn ngữ lập trình sẽ tiếp tục tăng. Tôi cũng hi vọng rằng sẽ có thêm nhiều ngôn ngữ miền cụ thể (Domain-specific language*) hơn nữa. Đó là một điều tốt. Nhưng chúng sẽ không loại bỏ việc viết mã. Thực tế là tất cả những đặc tả được viết bằng những ngôn ngữ miền cụ thể cấp cao hiện nay vẫn là mã. Nó vẫn cần chặt chẽ, chính xác và đủ formal và chi tiết để máy móc có thể hiểu và thực thi nó.
Những người tin rằng mã lệnh sẽ tuyệt chủng thật sự giống như là những nhà toán học hi vọng có một ngày họ có thể nghiên cứu toán học mà không cần dùng tới các công thức. Họ cũng có một ước mơ, rằng một ngày sẽ tìm ra cách để tạo ra các cỗ máy có thể làm những gì chúng ta muốn thay vì những gì chúng ta nói. Những cỗ máy này sẽ phải hiểu chúng ta tốt tới nỗi chúng có thể dịch những yêu cầu mơ hồ thành một chương trình đáp ứng những yêu cầu đó một cách tuyệt vời.
Điều đó sẽ không bao giờ xảy ra. Thậm chỉ cả loài người với tất cả trực giác và khả năng sáng tạo của mình cũng không thể tạo ra những hệ thống thành công từ những cảm giác mơ hồ của khách hàng. Trên thực tế, nếu việc đặc tả các yêu cầu có thể dạy chúng ta điều gì, thì đó là một đặc tả tốt bao giờ trông cũng giống như mã và có thể đóng vai trò như những kiểm thử chạy được luôn của mã đó.
Nhớ rằng mã lệnh suy cho cùng thật ra là ngôn ngữ để chúng ta diễn đạt các yêu cầu. Chúng ta có thể tạo ra những ngôn ngữ lập trình gần với yêu cầu hơn. Ta cũng có thể tạo ra các công cụ giúp ta phân tích và ráp những yêu cầu thành các cấu trúc chuẩn. Nhưng ta sẽ không bao giờ được loại bỏ sự chính xác thiết yếu – và thế là, mã sẽ mãi luôn tồn tại.
## Mã xấu
Gần đây tôi được đọc lời nói đầu trong một cuốn sách của Kent Beck – cuốn Implementation Patterns (Cài đặt Mẫu thiết kế). Trong đó có câu “cuốn sách này được dựa trên một giả thuyết khá mong manh: mã tốt là một vấn đề quan trọng”. Một giả thuyết mong manh? Tôi không đồng ý. Tôi nghĩ rằng tiền đề đó là một trong những cơ sở mạnh mẽ nhất, được khuyến khích nhất, và nan giải nhất trong nghề của chúng ta (và tôi nghĩ là Kent biết điều đó). Còn chúng tôi thì hiểu rõ, vì đã phải đương đầu với sự hiếm hoi của mã nguồn tốt quá lâu rồi.
Tôi biết một công ty vào cuối những năm 1980 đã viết một ứng dụng sát thủ (killer application). Nó đã rất phổ biến, và rất nhiều chuyên gia đã mua và sử dụng nó. Nhưng rồi các chu kỳ phát hành phiên bản mới ngày càng thưa dần. Các lỗi không được sửa sau mỗi bản phát hành. Ứng dụng càng lúc càng “nặng” và hay bị “treo”. Tôi nhớ một ngày tôi đã tắt chương trình đó đi trong sự thất vọng và không bao giờ sử dụng nó nữa. Còn công ty thì đã chấm dứt kinh doanh một thời gian ngắn sau.
Hai thập kỷ sau, tôi gặp một trong những nhân viên đầu tiên của công ty đó và hỏi anh ta những gì đã xảy ra. Câu trả lời đã xác nhận những e ngại của tôi. Họ đã vội vã tung sản phẩm ra thị trường và tạo ra một mớ lộn xộn khổng lồ trong mã. Khi họ thêm ngày càng nhiều các tính năng thì mã nguồn ngày càng tệ hại hơn nữa. Cho đến khi họ thực sự không thể quản lý nổi mã nguồn nữa. Vậy chính mã nguồn xấu đã làm công ty phải đóng cửa.
Đã bao giờ bạn gặp trở ngại to lớn do mã nguồn xấu? Nếu bạn là một lập trình viên từng trải, bạn hẳn đã nhận ra sự trở ngại này nhiều lần. Trên thực tế, chúng tôi đã đặt cho nó một cái tên. Chúng tôi gọi đó là “lội”. Chúng tôi lội qua mã xấu, một cách ì ạch qua những bãi lầy đầy gai rối và cạm bẫy. Chúng tôi nỗ lực tìm đường, loay hoay để tìm ra một vài gợi ý, một ít đầu mối, về những gì đang xảy ra; nhưng tất cả những gì chúng tôi thấy là nhiều và nhiều hơn nữa những dòng mã vô nghĩa.
Tất nhiên bạn đã từng gặp trở ngại với mã xấu. Vậy thì – tại sao bạn lại viết ra chúng?
Có phải bạn đã cố đi nhanh? Lúc đó bạn đang vội? Có lẽ vậy. Có lẽ bạn cảm thấy bạn không có thời gian để làm một việc tốt; rằng sếp có thể sẽ bực mình nếu bạn dành thời gian để làm sạch mã của bạn. Có lẽ bạn thật ra rất mệt mỏi với dự án này và chỉ mong cho nó xong sớm. Hoặc cũng có thể bạn nhìn vào backlog và thấy còn rất nhiều hạng mục khác mà mình đã hứa sẽ hoàn thành, và bạn nhận ra rằng phải nhanh chóng “làm cho xong” mô-đun này để có thể chuyển sang việc tiếp theo.
Chúng ta cũng từng làm như vậy. Chúng ta cũng từng nhìn vào mớ bừa bộn mình vừa tạo ra và ngao ngán quyết định sẽ dọn sau. Chúng ta cảm thấy nhẹ nhõm khi chương trình lộn xộn của chúng ta hoạt động được và quyết định rằng “lộn xộn còn hơn là không có gì”. Chúng ta thống nhất rằng sẽ quay lại làm sạch nó sau. Dĩ nhiên là trong những ngày đó chúng ta chưa biết đến “định luật LeBlanc”: để sau nghĩa là không bao giờ.
## Tổng chi phí của sự lộn xộn
Nếu bạn làm lập trình viên được khoảng hai đến ba năm, có lẽ bạn đã bị mã rối của ai đó làm chậm lại một cách kinh khủng. Nếu bạn làm lập trình viên lâu hơn ba năm, có lẽ bạn cũng đã bị mã rối làm chậm lại. Mức độ làm chậm có thể khác biệt đáng kể. Qua một hoặc hai năm, những đội đang triển khai giai đoạn đầu dự án ở tốc độ rất nhanh có thể thấy rằng tốc độ của họ trở nên chậm như sên. Mỗi sự thay đổi mã nguồn làm hỏng hai hay ba phần khác trong mã nguồn. Không sự thay đổi nào là dễ dàng. Mỗi việc thêm mới hay sửa đổi hệ thống đòi hỏi bạn phải hiểu hết những mớ bòng bong và những nút thắt của mã để bạn có thể thêm vào những mớ bòng bong và những nút thắt khác. Càng ngày đống lộn xộn càng to ra, sâu hơn và cao hơn, họ không thể dọn sạch nó được. Không thể nào làm nổi.
Mã nguồn càng lộn xộn càng làm năng suất làm việc của nhóm liên tục giảm đi, gần như xuống tới không. Và vì năng suất giảm, người quản lý làm việc duy nhất họ có thể làm đó là: bổ sung nhân lực cho dự án hòng cải thiện năng suất. Nhưng nhân viên mới lại không thông thạo về thiết kế hệ thống. Họ không hiểu rằng có những thay đổi phù hợp với định hướng thiết kế trong khi một số khác thì không. Hơn nữa, họ cùng những người khác trong nhóm đều phải chịu áp lực khủng khiếp để tăng năng suất. Và tất cả họ càng ngày càng làm ra nhiều lộn xộn hơn, làm năng suất giảm gần về không hơn.
![ Năng suất & thời gian](https://tapchilaptrinh.vn/wp-content/uploads/2014/05/2.png)
**Cuộc tái thiết vĩ đại giữa lưng chừng trời**
Cuối cùng thì nhóm quyết định làm điều gì đó. Họ thông báo cho quản lý rằng họ không thể tiếp tục phát triển mớ mã nguồn kinh khủng này. Họ yêu cầu được thiết kế lại. Quản lý không muốn phải dùng cạn kinh phí của dự án cho việc tái thiết, nhưng cũng không thể phủ nhận rằng năng suất đang thật khủng khiếp. Cuối cùng họ nhượng bộ yêu cầu của đội ngũ phát triển và cho phép bắt đầu cuộc tái thiết kế vĩ đại giữa lưng chừng dự án.
Một nhóm gồm những tay cứng cựa được chọn ra. Ai cũng muốn được vào nhóm này bởi vì đây là một dự án mới toanh. Họ sẽ được làm lại từ đầu và sẽ tạo ra một thứ thật sự đẹp đẽ. Nhưng chỉ những cá nhân xuất sắc và triển vọng nhất được lựa chọn để gia nhập “biệt đội hổ”. Những người khác phải tiếp tục bảo trì hệ thống hiện tại.
Bây giờ thì hai đội đang ở trong một cuộc đua. Đội hổ cần phải xây dựng một hệ thống mới có thể làm mọi thứ thay cho hệ thống cũ. Không những thế, họ còn phải theo kịp với những thay đổi liên tục được thực hiện trên hệ thống cũ. Quản lý sẽ không thay thế hệ thống cũ cho tới khi hệ thống mới đã hoàn toàn đáp ứng được công việc của hệ thống cũ.
Cuộc đua này có thể tiếp diễn qua một thời gian rất dài. Tôi đã thấy nó mất tới mười năm. Qua thời gian, những thành viên cũ của đội hổ đã rời đi, và những thành viên hiện tại đang yêu cầu được tái thiết kế hệ thống mới bởi vì hệ thống mới đã lại là một mớ mã nguồn lộn xộn.
Nếu bạn đã từng trải qua chỉ cần một phần nhỏ câu chuyện tôi vừa kể, bạn đã biết rất rõ rằng bỏ thời gian để giữ cho mã sạch không chỉ là vấn đề giảm chi phí, mà nó là chuyện sống còn của lập trình viên chuyên nghiệp.
## Thái độ
Bạn đã bao giờ lội qua những vũng bùn của mã nguồn khó khăn đến nỗi phải mất một tuần để làm những thứ lẽ ra nên xong trong một giờ? Đã bao giờ nhận thấy lẽ ra chỉ cần thay đổi một dòng mã thay vì phải sửa trong hàng trăm mô-đun khác nhau. Những triệu chứng này đã quá phổ biến rồi.
Tại sao những điều đó xảy ra với mã? Tại sao mã tốt nhanh chóng biến thành mã xấu. Chúng ta đưa ra rất nhiều lời giải thích. Chúng ta phàn nàn rằng những yêu cầu ban đầu bị thay đổi đã phá vỡ thiết kế ban đầu. Chúng ta than vãn rằng lịch công việc quá chặt chẽ để làm mọi thứ một cách đúng đắn.
Chúng tôi đổ lỗi cho quản lý ngu ngốc, những khách hàng cứng cổ, các thể loại tiếp thị vô dụng và cả “những người dọn toa lét”. Nhưng lỗi, Dilbert thân mến, không phải tại những ngôi sao của chúng tôi, mà thuộc về bản thân chúng tôi.
Sự thật đó như một viên thuốc đắng khó nuốt trôi. Làm thế nào mà đống lộn xộn này lại là lỗi của chúng tôi? Thế còn những yêu cầu? Còn lịch công việc thì sao? Quản lý đần độn và tiếp thị vớ vẩn thì sao? Chẳng lẽ họ không lãnh phần trách nhiệm nào?
Không hề! Các quản lý và bộ phận tiếp thị tìm tới chúng ta cho thông tin họ cần để soạn ra những lời hứa và cam kết; và ngay cả khi họ không tới tìm, chúng ta vẫn không nên ngần ngại nói với họ quan điểm của mình. Người dùng thì tìm tới chúng ta để xác nhận liệu những yêu cầu có thích hợp với hệ thống hay không. Quản lý dự án thì nhờ chúng ta hỗ trợ trong việc quyết định lịch trình. Chúng ta can dự sâu sắc vào viện lên kế hoạch cho dự án và chia sẻ phần không nhỏ trách nhiệm với bất kỳ một sự thất bại nào; đặc biệt nếu những thất bại đó một phần là do mã xấu.
Bạn có thể nói “Từ từ đã! Nếu tôi không làm những gì quản lý yêu cầu, tôi sẽ bị sa thải mất.” Không hẳn. Hầu hết quản lý muốn được biết sự thật, ngay cả khi họ không hành động như vậy. Hầu hết các quản lý muốn có mã tốt, ngay cả khi họ bị ám ảnh về lịch trình. Họ có thể bảo vệ lịch trình và yêu cầu với sự đam mê; nhưng đó là công việc của họ. Công việc của bạn là bảo vệ mã nguồn với một đam mê tương đương họ.
Để làm rõ chuyện này, hãy giả sử bạn là một bác sỹ và có một bệnh nhân yêu cầu bạn bỏ qua mấy công việc rửa tay vớ vẩn trong khi chuẩn bị cho ca phẫu thuật vì chúng mất quá nhiều thời gian. Rõ ràng bệnh nhân là ông chủ, nhưng bác sỹ hoàn toàn nên từ chối làm theo yêu cầu trên. Tại sao? Bởi vì chắc chắn là bác sỹ biết rõ hơn bệnh nhân về nguy cơ lây bệnh và nhiễm trùng. Sẽ là không chuyên nghiệp (thậm chí vi phạm pháp luật) nếu bác sĩ làm theo yêu cầu của bệnh nhân. Vì vậy cũng sẽ là không chuyên nghiệp nếu như lập trình viên nhất nhất tuân theo ý muốn của nhà quản lý – những người không am hiểu rủi ro của việc tạo ra mã nguồn lộn xộn.
## Bài toán căn bản
Lập trình viên phải đối mặt với một bài toán hóc búa của các giá trị cơ bản. Tất cả các nhà phát triển có vài năm kinh nghiệm đều hiểu rằng những đoạn mã lộn xộn rồi sẽ làm họ bị chậm lại. Và những người đó luôn cảm thấy áp lực buộc phải tạo ra mã lộn xộn, để đáp ứng thời hạn. Tóm lại, họ bỏ đi phần thời gian dành cho việc gỡ rối mã nguồn để đáp ứng tiến độ.
Chuyên gia thực thụ biết rằng phần thứ hai của bài toán là không đúng. Bạn sẽ không đáp ứng được tiến độ bằng cách tạo ra những đoạn mã lộn xộn. Thật vậy, mã lộn xộn sẽ làm bạn chậm lại ngay lập tức, và sẽ khiến bạn phải trễ thời hạn. Cách duy nhất để đáp ứng tiến độ – cách duy nhất để đi nhanh – đó là giữ cho mã nguồn của bạn luôn luôn sạch nhất có thể.
## Nghệ thuật của mã sạch
Hãy coi như bạn tin rằng mã lộn xộn là một tay ngáng đường kinh khủng. Và bạn chấp nhận rằng cách duy nhất để đi nhanh là giữ sạch mã của bạn. Vậy bạn sẽ tự hỏi: “Làm thế nào để viết mã sạch?” Sẽ là không ổn chút nào nếu bạn cố gắng thử viết mã sạch mà không được biết thật ra như thế nào mới được gọi là mã sạch.
Tin xấu là viết mã sạch có rất nhiều điểm giống như vẽ một bức tranh. Phần lớn chúng ta biết như thế nào là tranh được vẽ đẹp hay xấu. Nhưng có thể nhận thức được cái đẹp và cái xấu không có nghĩa là chúng ta biết làm thế nào để vẽ. Thế nên việc nhìn ra mã sạch hay mã xấu không có nghĩa là ta biết làm thế nào để viết ra mã sạch.
Việc viết mã nguồn sạch yêu cầu sử dụng một cách kỷ luật vô số kỹ thuật nhỏ được ứng dụng thông qua việc dày công luyện tập cảm giác về sự “sạch”. Cảm-giác-mã này là chìa khóa. Một vài trong chúng ta sinh ra đã có được cảm-giác-mã. Một số thì phải chiến đấu để có được nó. Nó không chỉ quan trọng trong việc làm cho chúng ta nhận thấy được mã tốt hay mã xấu, mà còn giúp ta nhìn ra chiến lược để áp dụng kỷ luật mà chúng tôi đề ra cho việc chuyển đổi mã xấu thành mã sạch.
Một lập trình viên thiếu cảm-giác-mã có thể nhìn vào một mô-đun lộn xộn và nhận ra sự lộn xộn trong đó nhưng sẽ không biết sẽ phải làm gì với nó. Lập trình viên có cảm-giác-mã tốt thì khác, anh ta sẽ thấy được những hướng phát triển khác. Cảm-giác-mã sẽ giúp lập trình viên chọn được hướng biến đổi tốt nhất, đưa anh (cô) ta qua một chuỗi biến đổi mà không làm thay đổi hành vi để đi đến đích.
Tóm lại, một “lập trình viên viết mã sạch” là một nghệ sĩ người mà có thể biến một màn hình trống rỗng thành một hệ thống mã thanh lịch thông qua một chuỗi biến đổi
## Mã sạch là gì?
Mỗi lập trình viên thì lại có một định nghĩa về mã sạch khác nhau. Vậy nên tôi đã đi hỏi một vài người rất nổi tiếng và dày dạn kinh nghiệm xem họ nghĩ gì về mã sạch.
**Bjarne Stroustup**, người phát minh ra C++ và là tác giả của cuốn *The C++ Programming Language* ![ Bjarne Stroustup](https://tapchilaptrinh.vn/wp-content/uploads/2014/05/3.-bjarme-261x300.png)
*“Tôi thích mã của tôi thanh lịch và hiệu quả. Lô-gic nên đơn giản để làm cho nó khó gặp những lỗi ẩn, có tối thiểu những sự phụ thuộc để dễ dàng bảo trì, xử lý lỗi hoàn chỉnh theo những chiến lược thống nhất, và hiệu suất gần như tối ưu để không cám dỗ người ta làm mã lộn xộn với những trò tối ưu hóa lố lăng. Mã sạch là mã làm tốt một việc”.*
Bjarne dùng từ “thanh lịch”. Một từ hết xẩy. Từ điển trong MacBook® của tôi cung cấp các định nghĩa sau: “diện mạo tinh tế và dễ chịu ; tài tình dễ chịu và đơn giản.” Bất cứ định nghĩa nào cũng nhấn mạnh sự “dễ chịu”. Rõ ràng Bjarne cho rằng mã sạch phải là mã khiến người đọc dễ chịu. Đọc nó phải làm bạn mỉm cười vui sướng giống hệt như trải nghiệm mà một hộp nhạc được chế tác tinh xảo hoặc chiếc xe hơi được thiết kế tinh tế mang lại.
Bjarne cũng đề cập đến “hiệu suất” – hai lần. Có lẽ điều này không làm chúng ta ngạc nhiên vì nó tới từ người sáng tạo ra C++; nhưng tôi nghĩ có nhiều điều để nói về hiệu suất ngoài chuyện tốc độ. Những chu kỳ lãng phí không thanh lịch, chúng không dễ chịu. Và hãy lưu ý từ mà Bjarne dùng để mô tả hệ quả của việc không thanh lịch. Ông dùng từ “cám dỗ”. Có một sự thật sâu sắc ở đây. Mã xấu “cám dỗ” sự lộn xộn phát triển. Khi những người khác thay đổi mã xấu, họ thường có xu hướng làm cho nó tồi tệ hơn.
Pracmatic Dave Thomas và Andy Hunt (**) đã nói về điều này theo một cách khác. Họ sử dụng câu chuyện ẩn dụ về những cửa sổ bị hỏng. Một tòa nhà có những cửa sổ bị hỏng khiến mọi người tưởng rằng không ai quan tâm đến nó. Vì vậy họ cũng không quan tâm đến nó. Họ cứ để mặc những cửa sổ hỏng (
[broken windows](http://pragprog.com/booksellers/2004-12.html)). Cuối cùng người ta chủ động phá chúng. Họ vẽ đầy những hình graffiti lên mặt trước tòa nhà, để mặc cho rác chất đống. Một ô cửa sổ hỏng sẽ dẫn đến sự đổ nát.
Bjarne cũng đề cập tới việc xử lý lỗi nên được hoàn chỉnh. Điều này tiến tới kỷ luật trong việc chú ý vào các chi tiết. Xử lý lỗi không hoàn chỉnh chỉ là một cách để các lập trình viên trốn tránh các chi tiết. Rò rỉ bộ nhớ là một ví dụ khác, tranh đoạt điều khiển (race condition) cũng thế. Đặt tên không nhất quán là một ví dụ khác nữa. Ta có thể kết luận rằng mã sạch thể hiện sự chú ý tỉ mỉ đến từng chi tiết.
Bjarne kết thúc với sự khẳng định rằng mã sạch là mã làm tốt một thứ. Không phải ngẫu nhiên mà có rất nhiều nguyên tắc thiết kế phần mềm có thể tóm lược lại thành lời khuyên đơn giản này. Hết tác giả này đến tác giả khác đã cố gắng truyền đạt tư tưởng này. Mã xấu cố gắng làm quá nhiều thứ, nó có ý định lộn xộn và mục đích không rõ ràng. Mã sạch là sự hội tụ. Mỗi chức năng, mỗi lớp, mỗi môđun cho thấy sự tập trung vào một mục đích, ý đồ duy nhất mà không bị sao nhãng và làm bẩn bởi những chi tiết ngoài lề.
**Grady Booch**, tác giả cuốn Object Oriented Analysis and Design with Applications ![ Grady Booch](https://tapchilaptrinh.vn/wp-content/uploads/2014/05/4.-grady-300x276.png)
“Mã sạch là mã đơn giản và trực tiếp. Mã sạch được đọc như đọc văn xuôi được viết trôi chảy. Mã sạch không bao giờ làm lu mờ ý định của người thiết kế mà nó luôn có đầy những sự trừu tượng hóa rõ ràng và những dòng mã điều khiển dễ hiểu.”
Grady đưa ra một vài luận điểm tương tự như Bjarne, nhưng ông ấy nhắc tới khía cạnh “dễ đọc”. Tôi đặc biệt thích quan điểm của ông về “đọc mã sạch như đọc văn xuôi được viết trôi chảy.” Hãy nhớ lại một cuốn sách được viết tốt mà bạn đã đọc. Nhớ lại cách mà từ ngữ đã biến mất và thay vào đó là những hình ảnh hiện ra. Giống như xem một bộ phim phải không? Tốt hơn nữa. Bạn thấy những nhân vật, bạn nghe thấy tiếng động, bạn thấy xúc độc và vui vui.
Đương nhiên đọc mã sạch không thể giống hoàn toàn như đọc
*Chúa tể chiếc nhẫn*. Nhưng ẩn dụ đó cũng không phải là quá tệ. Bởi cũng giống như một cuốn tiểu thuyết hay, mã sạch phải phơi bày rõ ràng những căng thẳng trong vấn đề cần giải quyết. Cần đưa những căng thẳng lên tới đỉnh điểm và rồi làm cho người đọc thốt lên: “À há, tất nhiên rồi!” khi thấy các vấn đề và sự căng thẳng được giải quyết bằng một giải pháp rõ ràng.
Tôi thấy rất thú vị với phép chơi chữ nghịch hợp mà Grady sử dụng khi dùng cụm từ “trừu tượng hóa rõ ràng” (“crisp abstraction”). Dù theo nghĩa nào, từ crisp cũng gần như là một từ đồng nghĩa với từ “concrete” (cụ thể). Từ điển trong máy Macbook của tôi có những nghĩa sau của từ crisp: quyết định dứt khoát và thực-tế-nó-vậy, không ngập ngừng hoặc có chi tiết thừa. Dù cho có những ý nghĩa chẳng liên quan đến nhau lắm, từ này vẫn mang đến một thông điệp mạnh mẽ. Mã của chúng ta phải có tính thực-tế-nó-vậy, không phải có tính suy đoán, không chắc chắn. Nó chỉ gồm những gì thực sự cần thiết. Người đọc phải hiểu rõ điều chúng ta quyết định làm trong từng dòng mã.
**“Vĩ đại” Dave Thomas**, sáng lập viên của OTI, cha đẻ của chiến lược Eclipse ![ Dave Thomas](https://tapchilaptrinh.vn/wp-content/uploads/2014/05/5.-Dave-Thomas-251x300.png)
*“Mã sạch là mã có thể được đọc và cải tiếng bởi một nhà phát triển bất kỳ chứ không phải chỉ tác giả của nó mới đọc nổi. Nó phải có cả kiểm thử đơn vị ở phía lập trình viên lẫn kiểm thử chấp chận do khách hàng thực hiện. Mã sạch có những tên có ý nghĩa. Nó chỉ đưa ra một cách để làm một việc chứ không đưa ra nhiều cách. Mã sạch có tối thiểu những sự phụ thuộc luôn được định nghĩa một cách tường minh, và đưa ra một cách dùng rõ ràng và tối thiểu hóa các API. Mã nên dễ đọc bởi vì tùy từng ngôn ngữ, không phải mọi thông tin cần thiết đều có thể được thể hiện rõ ràng chỉ bằng mã.”*
Dave có cùng đam mê với Grady về sự dễ đọc, nhưng với một sự bổ sung quan trọng. Ông khẳng định rằng mã sạch giúp người khác dễ dàng cải tiến nó. Điều này có vẻ hiển nhiên, nhưng ta không thể quá coi trọng điều này. Dù sao thì vẫn có sự khác biệt giữa mã dễ đọc và mã dễ cải tiến.
Dave gắn liền tính sạch sẽ với các kiểm thử. Vào thời điểm mười năm trước việc này có thể làm nhiều người nhíu mày. Nhưng kỹ thuật phát triển hướng kiểm thử (Test Driven Development) đã tác động sâu sắc tới toàn nghành công nghiệp phần mềm và trở thành một trong những kỹ thuật cơ bản nhất của chúng ta. Dave nói đúng. Mã không có kiểm thử thì không thể gọi là sạch. Dù cho nó thanh lịch cỡ nào, dễ dọc và dễ tiếp cận ra sao, nếu không có kiểm thử, nó không sạch.
Dave đã hai lần dùng tới từ “tối thiểu”. Rõ ràng ông coi trọng mã nguồn nhỏ gọn hơn là mã nguồn cồng kềnh. Thật vậy, đây là một điệp khúc phổ biến trong tất cả “tàng thư phần mềm” kể từ những tài liệu đầu tiên. Nhỏ hơn thì tốt hơn.
Dave cũng nhắc tới rằng mã nên dễ đọc. Quan điểm này khá gần gũi với thuyết lập trình Literate của Knuth. Nghĩa là mã nên được viết ra với một hình thức dễ đọc cho con người.
**Michael Feathers**, tác giả của Working Effectively with Legacy Code ![ Michael Feathers](https://tapchilaptrinh.vn/wp-content/uploads/2014/05/6.-Michel-Feathers-235x300.png)
Tôi có thể liệt kê tất cả những phẩm chất mà tôi nhận thấy trong mã sạch, nhưng có một phẩm chất bao trùm dẫn đến tất cả chúng. Đó là mã sạch bao giờ cũng trông như được viết bởi những người có tâm. Không có manh mối rõ ràng nào cho bạn biết có thể làm mã này tốt hơn nữa. Tất cả mọi phương án dường như đều đã được tác giả của mã này nghĩ tới, và nếu bạn cố gắng tưởng tượng ra những bước cải tiến, bạn sẽ được dẫn về lại chỗ cũ, nơi bạn đang ngồi cảm kích trước mã nguồn được để lại cho bạn bởi một người hết sức có tâm với nghề.
Một từ: “tâm”. Đó thực sự là chủ đề của cuốn sách này. Còn phụ đề sẽ là “Để tâm đến mã như thế nào”.
Michael nhấn mạnh nó đầu tiên. Mã sạch là mã được để tâm tới. Một ai đó đã phải mất thời gian để giữ cho nó đơn giản và ngăn nắp. Họ đầu tư một sự chú ý thích đáng tới các chi tiết. Họ đã để tâm.
![ Ron Jeffries](https://tapchilaptrinh.vn/wp-content/uploads/2014/05/7.-Ron-Jeffries-279x300.png)
**Ron Jeffries**, tác giả cuốn “Extreme Programming Installed” và “Extreme Programming Adventures in C#”.
Ron bắt đầu sự nghiệp lập trình của mình bằng ngôn ngữ Fortran tại Bộ tư lệnh Không quân Chiến lược và đã viết mã nguồn trong hầu hết các ngôn ngữ và trên gần như tất cả các loại máy. Chúng ta nên xem xét ý kiến của ông một cách cẩn thận.
*Trong những năm gần đây, tôi bắt đầu làm theo, gần như đầy đủ, những quy tắc của Beck về mã nguồn đơn giản. Xếp theo độ quan trọng thì thứ tự là:* *• Chạy tất cả các kiểm thử;* *• Không có sự trùng lặp;* *• Diễn đạt tất cả các ý tưởng thiết kế có trong hệ thống;* *• Có tối thiểu số lượng các lớp, phương thức, chức năng, và những thứ tương tự.* *Trong số những quy tắc này, tôi quan tâm chủ yếu tới sự trùng lặp. Khi một điều được thực hiện nhiều lần, đó là một dấu hiệu cho thấy có một ý tưởng trong tâm trí chúng ta đã không được triển khai tốt trong mã nguồn. Tôi cố gắng tìm ra nó là gì. Sau đó tôi cố gắng thể hiện ý tưởng đó rõ ràng hơn.* *“Với tôi, tính rõ nghĩa bao gồm việc đặt tên có ý nghĩa, và tôi thường phải đổi tên của một thứ gì đó nhiều lần cho tới khi vừa ý. Với các công cụ viết mã hiện đại như là Eclipse, đổi tên không hề phức tạp, vì vậy không phải là vấn đề lớn đổi với tôi trong việc đổi các tên. Tuy nhiên, tính rõ nghĩa cũng không chỉ nằm trong các tên. Tôi cũng xem xét liệu có đối tượng hay phương thức nào làm nhiều hơn một việc hay không. Nếu nó là một đối tượng, có thể sẽ cần phải chia nó thành hai hoặc nhiều đối tượng. Nếu nó là phương thức, tôi thường dùng kỹ thuật tái cấu trúc “Extract Method”, kết quả là tôi có một phương thức diễn đạt rõ ràng hơn về việc nó làm, và một số phương thức con diễn đạt việc đó được làm như thế nào.”* *Sự trùng lặp và tính rõ nghĩa đã chiếm rất nhiều thời gian của tôi trong định nghĩa về mã sạch, đổi lại chỉ với hai điều đó thôi cũng có thể làm cho mã xấu trở nên sạch hơn rất nhiều. Tuy nhiên, còn một điều nữa mà tôi vẫn làm để viết mã sạch thì khó diễn đạt hơn một chút.* *“Sau nhiều năm làm công việc này, tôi nhận thấy rằng có vẻ mọi chương trình điều được tạo thành từ những yếu tố rất giống nhau. Ví dụ như “tìm thứ gì đó trong một bộ sưu tập (collection)”. Cho dù cái chúng ta có là một cơ sở dữ liệu các hồ sơ nhân viên, hay một bảng băm (hashmap) của khóa và giá trị, hoặc một mảng các phần tử loại gì đó, thì chúng ta cũng đều nảy sinh nhu cầu tìm lấy một món trong chỗ đó. Thế nên khi tôi muốn làm cái việc “tìm thứ gì đó”, tôi thường bao gói việc triển khai cụ thể vào một lớp hoặc phương thức trừu tượng hơn. Việc này cho tôi một vài lợi thế thú vị”.* *“Tôi hoàn toàn có thể triển khai chức năng ngay lúc đó một cách đơn giản bằng cách sử dụng một bảng băm (hashmap) chẳng hạn, nhưng do tất cả các tham chiếu đến việc tìm kiếm đó đều được gói lại trong trừu tượng hóa nhỏ bé của tôi(một hàm tìm kiếm), tôi có thể thay đổi cách thức triển khai việc tìm kiếm bất cứ lúc nào tôi muốn. Và tôi có thể đi tiếp nhanh hơn trong khi vẫn có thể thay đổi nó sau.”* *“Thêm vào đó, việc trừu tượng hóa bộ sưu tập (collection) lên thường giúp tôi chú ý tới việc gì đang thực sự diễn ra, và giữ cho tôi khỏi sa vào việc triển khai những cách làm phức tạp (arbitrary collection), trong khi tôi thực ra chỉ cần vài cách cực kỳ đơn giản để tìm kiếm điều tôi muốn”.* *“Giảm thiểu trùng lặp, cực kỳ rõ nghĩa, và sớm xây dựng những trừu tượng hóa nhỏ. * *Với tôi, đó là những thứ làm nên mã sạch”.*
Lần này, trong một vài đoạn ngắn, Ron đã tóm tắt nội dung của cuốn sách này. Không trùng lặp, đơn nhiệm (SRP), tính rõ nghĩa, những trừu tượng hóa tí hon. Nội dung cuốn sách này là về tất cả những điều đó.
**Ward Cunningham**, người tạo ra Wiki, Fit, đồng sáng lập của eXtreme Programing. Động tác giả của cuốn sách Design Patterns (Mẫu thiết kế), lãnh đạo tư tưởng của Smalltalk và Lập trình Hướng Đối tượng. Bố già của bất cứ ai quan tâm đến lập trình. ![ Ward Cunningham](https://tapchilaptrinh.vn/wp-content/uploads/2014/05/8.-Ward-271x300.png)
*“Bạn biết bạn đang làm việc với mã sạch khi mỗi đoạn mã bạn đọc đúng như những gì bạn mong đợi. Bạn có thể gọi nó là mã đẹp khi mã đó làm cho ngôn ngữ trông cứ như là ngôn ngữ được tạo ra để giải quyết vấn đề đó.”*
Kiểu phát biểu này đúng là kiểu của của Ward. Bạn đọc nó, gật đầu, và sau đó thì chuyển sang chủ đề tiếp theo. Nó có vẻ rất hợp lý, rất rõ ràng cứ như nó là điều tất nhiên vậy. Bạn có thể nghĩ rằng điều đó là hiển nhiên. Nhưng hãy xem xét kĩ hơn một chút.
“…đúng như những gì bạn mong đợi.” Lần cuối bạn thấy một mô-đun đúng như những gì bạn mong đợi là khi nào? Hay bạn toàn thấy các mô-đun thật là phức tạp, loằng ngoằng? Chả phải mã thì luôn gây nhầm lẫn cho người đọc? Chẳng phải bạn đã quen với việc rất khó khăn để hiểu được mô-đun bạn đang đọc thì liên quan quái gì đến toàn bộ hệ thống? Lần cuối mà bạn đọc mã của ai đó và gật đầu như khi bạn gật đầu trước phát biểu của Ward là khi nào?
Ward muốn rằng khi bạn đọc mã sạch bạn sẽ không gặp phải bất cứ sự ngạc nhiên nào. Thật vậy, bạn sẽ không phải tốn nhiều công sức để đọc mã sạch. Bạn đọc nó, và nó sẽ đúng như những gì bạn mong đợi. Nó rõ ràng, đơn giản và thuyết phục. Mỗi mô-đun sẽ chuẩn bị sân khấu cho mô-đun tiếp theo, nó sẽ cho bạn biết điều gì sẽ được viết tiếp. Những chương trình sạch được viết tốt đến nỗi bạn không phải để tâm đến chuyện nó được viết như thế nào. Người thiết kế đã làm cho nó trông cực kỳ đơn giản như những thiết kế tuyệt vời khác.
Thế còn quan điểm của Ward về vẻ đẹp? Chúng ta luôn trách móc cuộc đời rằng ngôn ngữ ta dùng không được thiết kế để giải quyết vấn đề của mình. Nhưng lời của Ward đã đẩy trách nhiệm đó về lại cho chúng ta.
Ông nói rằng mã đẹp làm cho ngôn ngữ trông chứ như là được sinh ra để giải quyết vấn đề đó. Vậy trách nhiệm của chúng ta là phải làm cho ngôn ngữ trông thật đơn giản. Những người hâm mộ cuồng nhiệt của các ngôn ngữ, hãy nhớ rằng! Không phải ngôn ngữ là thứ làm cho chương trình trông đơn giản. Mà chính lập trình viên mới là “thứ” làm cho ngôn ngữ trông đơn giản!
## Các trường phái tư tưởng
Còn tôi (Uncle Bob) thì sao? Tôi nghĩ thế nào là mã sạch? Cuốn sách này sẽ nói cho bạn biết, qua những chi tiết rất gớm ghiếc, về những điều mà tôi và những bạn đồng sự nghĩ về mã sạch. Chúng tôi sẽ cho bạn biết suy nghĩ về những gì làm tạo nên một tên biến sạch, một hàm sạch, một lớp sạch, v.v… Chúng tôi sẽ trình bày những ý kiến này như là một sự thật hiển nhiên và chúng tôi sẽ không xin lỗi vì ngôn từ chối tai của mình.
![ Uncle Bob](https://tapchilaptrinh.vn/wp-content/uploads/2014/05/9.-Uncle-Bob-259x300.png)
Với chúng tôi, tại thời điểm này của sự nghiệp, chúng là tuyệt đối, hiển nhiên. Chúng là trường phái tư tưởng của chúng tôi về mã sạch.
Các võ sư luôn không đồng ý với nhau về môn phái tốt nhất hay kĩ thuật tốt nhất của một môn phái. Thường thì những võ sư bậc thầy sẽ tạo ra trường phái tư tưởng của riêng họ và chiêu dụ môn sinh đến học. Vì vậy ta có Nhu thuật Gracie được thành lập và giảng dạy bởi nhà Gracie ở Brazil, có Nhu thuật HakkoRyu được thành lập và giảng dạy bởi Okuyama Ryuho ở Tokyo, và có Triệt-quyền-đạo, được Bruce Lee sáng tạo và giảng dạy ở Hoa Kỳ.
Những “môn đệ” của các công phu đó đắm mình trong lời dạy của người lập phái. Họ dồn hết tâm huyết để học theo một người thầy, thường là để xóa đi những điều học được từ những người thầy trước. Sau đó, khi đã phát triển công phu đến một mức nhất định, họ có thể tiếp tục học hỏi từ một bậc thầy khác để mở rộng kiến thức và kỹ năng của họ.
Vài người thậm chí tiếp tục khổ luyện công phu, sáng tạo ra các kỹ thuật mới và lập ra trường phái riêng của họ.
Không trường phái nào trong số đó là đúng tuyệt đối. Nhưng khi học tập tại một ngôi trường cụ thể, chúng ta sẽ mặc nhiên coi tất cả những kỹ năng được dạy là đúng. Đúng là luôn phải có một cách chuẩn mực để luyện tập Nhu thuật Hakkoryu hoặc Triệt quyền đạo. Nhưng chuẩn mực trong một trường phái không làm mất giá trị các lời dạy của một trường phái khác.
Hãy xem cuốn sách này như bản miêu tả của trường (phái) Object mentor về mã sạch. Những kỹ năng và bài học trong đây là cách chúng tôi luyện tập công phu của mình. Chúng tôi sẵn lòng khẳng định rằng nếu bạn làm theo những chỉ dẫn này, bạn sẽ nhận được những lợi ích mà chúng tôi đã đạt được, và bạn sẽ học được cách viết mã sạch và chuyên nghiệp. Nhưng đừng nghĩ rằng chúng tôi đúng tuyệt đối trong mọi trường hợp. Có những trường phái khác và những bậc thầy khác cũng được tuyên bố chuyên nghiệp như chúng tôi. Bạn cũng cần phải học từ họ nữa.
Thật vậy, nhiều điều được khuyến nghị trong cuốn sách này vẫn đang gây tranh cãi. Bạn có thể sẽ không đồng ý với tất cả trong số chúng, và thậm chí có thể dữ dội bác bỏ một số trong đó. Không sao cả. Chúng tôi không thể yêu cầu cho mình quyền thắng cuối cùng. Mặt khác, những khuyến nghị trong này là những thứ mà chúng tôi đã phải suy nghĩ rất kỹ sau một thời gian dài mới nhận ra. Chúng tôi đã học được những điều đó qua nhiều thập kỷ tích lũy kinh nghiệm và thử nghiệm lặp đi lặp lại và sai lầm. Vì vậy cho dù bạn có hay không đồng ý, thật là một sự xấu hổ nếu bạn không nhìn thấy được, và tôn trọng quan điểm của chúng tôi.
**Chúng ta là những tác giả**
Trường @author của Javadoc nói lên chúng ta là ai. Chúng ta là những tác giả. Và một điều về các tác giả đó là họ có các độc giả. Thật vậy, những tác giả có trách nhiệm là giao tiếp tốt với độc giả của họ. Mỗi khi bạn viết một dòng mã, hãy nhớ bạn là một tác giả, đang viết cho những độc giả người mà sẽ đánh giá thành quả của bạn.
Bạn có thể thắc mắc: “Mã thật sự được đọc nhiều đến mức nào?” “Chẳng phải hầu hết công sức đều dành cho việc viết ra nó sao?” Bạn đã từng chiếu lại một phiên chỉnh sửa? Trong những năm 80 và 90, chúng tôi có những phần mềm editor như là Emacs, chúng có thể lưu giữ tất cả những lần gõ phím. Bạn có thể làm việc trong một giờ và sau đó phát lại toàn bộ phiên làm việc như đang xem một đoạn phim tốc độ cao. Khi tôi thực hiện việc đó, kết quả thực sự thú vị.
Phần lớn của đoạn phim đó là tác vụ cuộn và nhảy tới các mô-đun khác.
*“Bob nhảy vào mô-đun.”* *“Anh ta cuộn xuống chức năng cần phải sửa đổi.”* *“Anh ấy dừng lại, cân nhắc các lựa chọn.”* *“Ô, giờ thì hắn cuộn lên đầu mô-đun để kiểm tra việc khởi tạo của 1 biến.”* *“Giờ anh ấy cuộn lại chỗ cũ và bắt đầu gõ.”* *“Opp, anh xóa câu vừa gõ.”* *“Anh lại gõ lại câu đó.”* *“Anh lại xóa nó một lần nữa..”* *“Anh gõ một nửa của một thứ khác, nhưng rồi lại xóa nó đi.”* *“Anh cuộn xuống một hàm khác, chỗ mà có gọi tới hàm anh ta đang sửa đổi, để xem nó được gọi như thế nào.”* *“Anh cuộn lại chỗ cũ, gõ lại y hệt những gì vừa xóa.”* *“Anh tạm dừng.”* *“Anh xóa đoạn code đó một lần nữa!* *“Anh ta mở tạm một cửa sổ khác để xem xét một subclass. Liệu chức năng kia có bị ghi đè không?* *. . .* *Bạn thấy vấn đề rồi chứ. Thực vậy, tỷ lệ giữa thời gian đọc mã so với viết mã nhiều hơn 10:1.*
Chúng ta liên tục phải đọc lại mã cũ, việc này chiếm một phần nhất định trong quá trình viết mã mới. Bởi vì tỷ lệ này cao như vậy, chúng ta muốn việc đọc hiểu mã phải thật dễ dàng, ngay cả khi nó làm cho việc viết mã trở nên khó khăn hơn. Tất nhiên ta không thể viết mã mà không cần đọc chính đoạn mã đang viết (trừ khi bạn nhắm mắt trong khi viết mã), thế nên làm cho mã dễ đọc cũng thực sự giúp cho việc viết mã trở nên dễ dàng hơn.
Không có cách nào để thoát khỏi lô-gic này – bạn không thể viết mã nếu bạn không thể đọc được mã xung quanh. Đoạn mã hôm nay sẽ khó hay dễ để viết phụ thuộc vào những đoạn mã liên quan đến nó là khó hay dễ để đọc. Vì vậy nếu bạn muốn công việc của bạn trôi chảy, muốn xong nhanh, muốn viết ra mã dễ dàng hơn – trước hết hãy làm cho nó dễ đọc.
## Luật hướng đạo.
Chỉ viết mã tốt thôi là không đủ. Mã còn phải được giữ sạch cùng thời gian. Tất cả chúng ta đều đã chứng kiến mã xấu đi và giảm chất lượng theo thời gian. Do đó chúng ta cần phải chủ động trong việc ngăn ngừa sự suy thoái này.
Những cậu bé hướng đạo sinh của nước Mỹ có một luật đơn giản mà chúng ta cũng có thể áp dụng vào nghề của chúng ta.
“Rời khỏi khu cắm trại sạch hơn lúc bạn đến”
Nếu mỗi lần check-in mã (commit) chúng ta đều làm mã của mình sạch một chút so với khi ta check-out (update) nó về, mã chắc chắn sẽ không bị thối. Việc làm sạch không phải là thứ gì đó quá lớn lao. Đơn giản có thể chỉ là đổi tên một biến nào đó cho tốt hơn, phân tách một chức năng quá lớn, khử một vài đoạn mã lặp, dọn dẹp một câu lệnh if phức tạp v.v..
Bạn có tưởng tượng được việc làm việc trên một dự án mà mã đơn giản là cứ mỗi ngày một trông đẹp hơn? Nếu không phải như vậy thì liệu có phải là chuyên nghiệp nữa hay không? Thực sự, chẳng phải “cải tiến liên tục” là một phần bản chất của tính chuyên nghiệp sao?
## Cuốn sách tiền truyện và những nguyên tắc
Về nhiều mặt, cuốn sách này là phần trước (prequel) của một cuốn khác mà tôi đã hoàn thành vào năm 2002 với tựa đề “Phát triển phần mềm linh hoạt: Nguyên tắc, Hình mẫu và Thực hành.” (Agile Software Development: Principles, Patterns, and Practices – (PPP) – ND). Cuốn PPP bản thân nó liên quan tới các nguyên lý của thiết kế hướng đối tượng, và có rất nhiều các bài thực hành được dùng bởi các nhà phát triển chuyên nghiệp. Nếu bạn chưa đọc nó, bạn sẽ thấy rằng nó là phần sau của câu chuyện được kể trong cuốn sách này. Nếu bạn đã đọc PPP, thì giờ đây bạn có cơ hội tìm thấy rất nhiều cảm hứng của nó được lặp lại trong cuốn sách này, nhưng ở cấp độ của mã.
Trong cuốn sách này, bạn sẽ thấy nhắc đến nhiều nguyên tắc thiết kế phần mềm. Trong số đó có thể kể đến Nguyên lý đơn nhiệm (Single Responsibility Principle – SRP), Nguyên lý mở đóng (the Open Closed Principle – OCP), và Nguyên tắc đảo ngược sự phụ thuộc (Dependency Inversion Principle – DIP) ngoài nhiều nguyên tắc khác. Những nguyên tắc đó được miêu tả rất sâu trong cuốn PPP.
## Kết luận
Sách về nghệ thuật không bảo đảm giúp bạn trở thành nghệ sĩ. Tất cả những gì nó làm đó là cung cấp cho bạn một số công cụ, kỹ thuật và cách suy nghĩ mà những nghệ sĩ khác đã sử dụng. Vậy nên cuốn sách này không thể đảm bảo sẽ làm bạn trở thành một lập trình viên tốt. Nó không thể đảm bảo sẽ giúp bạn có được cảm-giác-mã. Tất cả nó làm là cho bạn thấy tư duy của những lập trình viên tốt và những thủ thuật, kỹ thuật và công cụ mà họ dùng.
Cũng giống như một cuốn sách về nghệ thuật, bạn sẽ thấy cuốn sách này có rất nhiều những chi tiết. Bạn sẽ thấy rất nhiều mã. Có cả mã tốt và mã xấu. Và bạn sẽ thấy quá trình chuyển mã xấu thành mã tốt. Bạn sẽ thấy hàng loạt các cách giải quyết vấn đề thông qua việc thử nghiệm, những nguyên lý, và những kỹ thuật. Bạn sẽ thấy rất nhiều ví dụ. Kết quả đạt được sẽ phụ thuộc vào chính bản thân bạn.
Bạn có nhớ câu chuyện đùa cũ về người nghệ sĩ hòa tấu violin bị lạc đường khi đang đến buổi biểu diễn (tại Carnegie Hall)? Anh ta hỏi một cụ già xem mình phải làm gì để tới được Carnegie Hall (* “phòng hòa nhạc của những giấc mơ” – ND). Cụ già nhìn chăm chú người nghệ sĩ với cây violin kẹp dưới cánh tay, và nói: “Luyện tập, con trai ạ. Luyện tập!”
(*) Domain-specific language: – trong phát triển phần mềm, là một loại ngôn ngữ lập trình dành riêng cho một vấn đề / kỹ thuật biểu diễn / giải pháp cụ thể. HTML là một ví dụ về DSL. Trái ngược với DSL là General-purpose Programming Language ( những ngôn ngữ lập trình được thiết kế cho lập trình trên diện rộng, điển hình là C, Java, Python ) và General-purpose Modeling Language mà UML là một ví dụ.
(**) Hai người này đã sáng lập Pracmatic programer, và tác giả dùng từ Pracmatic trong tên như biệt danh.
Tham khảo[Beck07]: Implementation Patterns, Kent Beck, Addison-Wesley, 2007. [Knuth92]: Literate Programming, Donald E. Knuth, Center for the Study of Language and Information, Leland Stanford Junior University, 1992.
Nguồn:
*Chương 1 – Clean Code (Mã sạch)* của Robert C. Martin
Người dịch:
[Trần Thu Vân](https://www.facebook.com/van.tran.1253?fref=ts&ref=br_tf), [Nguyễn Trung Tuyến](https://www.facebook.com/com.mediannguyen), [Nguyễn Bình Sơn](https://www.facebook.com/lionel.nguyen.14) & [Ngô Trung](https://www.facebook.com/lewtds)
Biên tập: Phạm Anh Đới
## 15 thoughts on “Mã sạch”
Bài viết hay. Rất mong chương 2 ra sớm.
Chương hai đã có từ lâu: http://tapchilaptrinh.vn/2014/01/07/ma-sach-ten-co-y-nghia/
Chúng tôi đang tìm người để dịch chương 3.
https://docs.google.com/a/fpt.aptech.ac.vn/document/d/1UlgsBK3ZcFd6mDLsb8zvvcSCJL5SkYyfW6ozsgUHjS8/edit
Bài viết rất hay.
Mình đang đọc cuốn Clean Code của Robert C Martin đây
Bạn có link tải cuốn “Clean Code” này không ?
Bạn có thể vào nhóm facebook: CocoDojo để xem nhé
https://www.facebook.com/groups/cocodojo/files/
Bài rất hay, đúng tâm trạng e @@, rất cảm ơn thầy
Cám ơn bài viết này. Đúng cái mà mình đang cần. Cám ơn anh rất nhiều 🙂
Bài viết rất hay. Cám ơn tác giả rất nhiều.
Thực sự bài viết rất hay. Mình chỉ mới học lập trình được khoảng một tháng thôi, nhưng cảm giác bài này sẽ là kim chỉ nam cho quá trình học của mình trong thời gian sắp tới. Cảm ơn vì đã dịch một bài hay như vậy!^^
Bài viết chuẩn, mình học được nhiều điều rối rắm ?
Chào các quản trị viên tapchilaptrinh.vn
Bài này rất hay, cho mình hỏi tapchilaptrinh.vn có thể cho mình chia sẽ lại nội dung trên blog cá nhân của mình không, mình sẽ ghi rõ nguồn từ tapchilaptrinh.vn
thanks,
Bạn có thể chia sẻ các bài viết của TCLT nhưng lưu ý ghi rõ nguồn gốc là ok.

Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.0.25

Strict-Transport-Security: max-age=63072000; includeSubdomains

X-Frame-Options: DENY

Keep-Alive: timeout=5, max=99


markdown:
[](https://taseco.vn/tin-taseco/taseco-land-to-chuc-hoi-nghi-so-ket-hdkd-06-thang-dau-nam-2018.html) ![ ](https://taseco.vn/upload/tintuc/thumb/15337869291.jpg)
![ ](https://taseco.vn/upload/tintuc/thumb/15337869291.jpg)
[TASECO LAND TỔ CHỨC HỘI NGHỊ SƠ KẾT...](https://taseco.vn/tin-taseco/taseco-land-to-chuc-hoi-nghi-so-ket-hdkd-06-thang-dau-nam-2018.html)
Ngày 06/08/2018, Công ty Cổ phần Đầu tư Bất động sản Taseco (Taseco Land) đã tổ chức Hội nghị Sơ kết hoạt động kinh doanh...
[Xem thêm](https://taseco.vn/tin-taseco/taseco-land-to-chuc-hoi-nghi-so-ket-hdkd-06-thang-dau-nam-2018.html) [](https://taseco.vn/gioi-thieu/linh-vuc-kinh-doanh.html) ![ ](https://taseco.vn/upload/tintuc/thumb/1457541277kd1.jpg)
![ ](https://taseco.vn/upload/tintuc/thumb/1457541277kd1.jpg)
[Lĩnh vực kinh doanh](https://taseco.vn/gioi-thieu/linh-vuc-kinh-doanh.html)
Các ngành nghề kinh doanh của TASECO bao gồm: - Dịch vụ hàng không - Kinh doanh bất động sản - Kinh doanh dịch vụ nhà...
[](https://taseco.vn/tin-taseco/taseco-land-to-chuc-hoi-nghi-so-ket-hdkd-06-thang-dau-nam-2018.html) ![ ](https://taseco.vn/upload/tintuc/thumb/15337869291.jpg)
![ ](https://taseco.vn/upload/tintuc/thumb/15337869291.jpg)
[TASECO LAND TỔ CHỨC HỘI NGHỊ SƠ KẾT HĐKD 06 THÁNG ĐẦU NĂM 2018](https://taseco.vn/tin-taseco/taseco-land-to-chuc-hoi-nghi-so-ket-hdkd-06-thang-dau-nam-2018.html)
Ngày 06/08/2018, Công ty Cổ phần Đầu tư Bất động sản Taseco (Taseco Land) đã tổ chức Hội nghị Sơ kết hoạt động kinh doanh...
[](https://taseco.vn/taseco-land/ctcp-bds-taseco.html) ![ ](https://taseco.vn/upload/tintuc/thumb/1503041898Untitled-1.jpg)
![ ](https://taseco.vn/upload/tintuc/thumb/1503041898Untitled-1.jpg)
[CÔNG TY CỔ PHẦN ĐẦU TƯ BẤT ĐỘNG SẢN TASECO](https://taseco.vn/taseco-land/ctcp-bds-taseco.html)
Tên doanh nghiệp: CÔNG TY CỔ PHẦN ĐẦU TƯ BẤT ĐỘNG SẢN TASECO - Tên doanh nghiệp viết bằng tiếng nước ngoài: TASECO LAND...
[](https://taseco.vn/hoc-bong-taseco/chia-se-kho-khanchap-canh-uoc-mo-cung-co-be-bui-mai-thi-.html) ![ ](https://taseco.vn/upload/tintuc/thumb/14601032921517480_648269395292075_8251932617262573758_n.jpg)
![ ](https://taseco.vn/upload/tintuc/thumb/14601032921517480_648269395292075_8251932617262573758_n.jpg)
[CHIA SẺ KHÓ KHĂN, CHẮP CÁNH ƯỚC MƠ CÙNG CÔ BÉ BÙI MAI THI](https://taseco.vn/hoc-bong-taseco/chia-se-kho-khanchap-canh-uoc-mo-cung-co-be-bui-mai-thi-.html)
Mồ côi cả cha lẫn mẹ, cô bé Bùi Mai Thi - Học sinh trường dân tộc nội trú Huyện Thạch Thành Tỉnh Thanh Hóa, hiện đang ở...
[](https://taseco.vn/nop-ho-so-truc-tuyen/nop-ho-so-truc-tuyen.html) ![ ](https://taseco.vn/upload/tintuc/thumb/14997573771465876913-5-dieu-canh-giac-khi-nop-ho-so-truc-tuyen-viecoi-1.jpg)
![ ](https://taseco.vn/upload/tintuc/thumb/14997573771465876913-5-dieu-canh-giac-khi-nop-ho-so-truc-tuyen-viecoi-1.jpg)
[Nộp hồ sơ trực tuyến](https://taseco.vn/nop-ho-so-truc-tuyen/nop-ho-so-truc-tuyen.html)
Thí sinh có nhu cầu nộp hồ sơ trực tuyến click tại đây


markdown:
**Lưu ý khi tập với máy chạy bộ**
Đối với các chị em phụ nữ sau sinh thì việc giảm cân luôn được đặt lên hàng đầu. Chạy bộ luôn được coi là phương pháp giảm cân hiệu quả nhất. Chính vì thế mà có không ít người lựa chọn cho mình một chiếc
** để giảm cân, đặc biệt là chị em phụ nữ sau khi sinh. Với máy tập chạy bộ điện** **máy chạy bộ**thì nó sẽ giúp bạn giảm cân nhanh với những bài tập cực kì đơn giản, tiện lợi và tiết kiệm được thời gian. Tuy nhiên, để cho việc giảm cân của bạn được hiệu quả và an toàn thì các bạn cần trang bị cho mình những kiến thức cơ bản sau đây.
- Bước chuẩn bị
Bước chuẩn bị tuy là phần đơn giản nhưng lại có sức ảnh hưởng cực kì quan trọng. Hãy chuẩn bị cho mình bộ trang phục khi chạy phù hợp với bản thân. Một bộ quần áo tốt là loại không quá rộng, không quá chật để mọi cử động đều thoải mái hay một đôi giày sao cho vừa vặn với bàn chân để tăng tác dụng hỗ trợ với mỗi bước chạy. Quá trình chuẩn bị cho cơ thể trước khi chạy bộ, hãy thực hiện vài động tác ép chân và xoay các khớp cổ tay, cổ chân, đầu gối và khớp hông… để làm nóng các cơ và gân tăng cường sự linh hoạt, tránh đau nhức cơ hay chuột rút trong quá trình luyện tập.
>>
[Máy chạy bộ với hiệu quả tập luyện đa chức năng](../may-chay-bo-voi-hieu-qua-tap-luyen-da-chuc-nang/a741.html)
>>
[Máy chạy bộ điện giải pháp số 1 của đau khớp gối](../may-chay-bo-dien-giai-phap-so-1-cua-dau-khop-goi/a739.html)
**Không gian đặt máy hợp lý**
Nếu bạn tập luyện tại nhà thì nên đặt
** ở những nơi thoáng mát, không ẩm ướt hoặc tối, có đầy đủ ánh sáng sẽ tốt cho quá trình tập luyện của bạn hơn. Ngoài ra, không nên để máy quá nhiều đồ vật vì nếu lỡ có va chạm sẽ khiến bạn bị thương. Cũng không nên đặt máy ngoài trời bởi mưa gió sẽ làm giảm độ bền của máy. máy chạy bộ gia đình** **Thời điểm chạy**
Bạn nên để cơ thể vận động vào lúc sáng sớm. Khi ấy không khí còn mát mẻ và trong lành. Hoặc bạn chạy vào buổi chiều khi các công việc hàng ngày của bạn đã thực hiện xong. Lưu ý rằng sau khi chạy bạn nên tắm với nước ấm và ăn sáng hay ăn tối nhẹ nhàng.
- Thực đơn ăn uống
Thực đơn ăn uống lành mạnh, ít chất béo, tinh bột, đường, nên bổ sung nhiều loại rau xanh và chất xơ, thịt nạc và trứng sẽ giúp hiệu quả giảm cân nhanh được cao hơn.
**Kiên trì tập luyện để đạt được hiệu quả nhanh chóng**
Rất khó để các bà mẹ lấy lại vóc dáng như trước, tuy nhiên chỉ cần kiên trì 20 phút mỗi ngày tập luyện với
**máy chạy bộ tại nhà** sẽ giúp đánh bay mỡ thừa, lấy lại vóc dáng thon gọn, cải thiện sức khỏe, mọi mỏi mệt đều tan biến,...
Hy vọng với những tư vấn trên, bạn sẽ áp dụng trong quá trình chạy bộ của bản thân để kế hoạch giảm cân của bạn đạt hiệu quả cao hơn.

Vary: Accept-Encoding,User-Agent


markdown:
Em Hoàng Kim Lùn khá năng động và vui nhộn
Bị thu hút bởi nghệ thuật quân sự thiên tài của những anh hùng dân tộc như Ngô Quyền, Hưng Đạo vương Trần Quốc Tuấn, vua Quang Trung Nguyễn Huệ, Chủ tịch Hồ Chí Minh, Đại tướng Võ Nguyên Giáp... trong những tiết học Lịch sử, Lùn thường đặt ra nhiều câu hỏi với thầy, cô để hiểu sâu và làm sáng tỏ những vấn đề mình quan tâm. Chia sẻ kinh nghiệm học tập, Lùn cho biết: “Ngoài giờ học trên lớp, em thường xuyên trau dồi kiến thức từ sách, báo trong thư viện, qua việc hỏi thầy, cô giáo. Các trang mạng, diễn đàn lịch sử chính thống trên internet cũng là nơi em và các bạn có cùng đam mê môn Lịch sử chia sẻ, trao đổi với nhau”.
Lùn đặc biệt thích nghiên cứu về cuộc đời và sự nghiệp giải phóng dân tộc của Bác Hồ. Qua việc nghiên cứu, tìm hiểu về lịch sử Việt Nam, em đã rút cho mình rất nhiều bài học có thể áp dụng trong cuộc sống. Vì thế, Lùn tự xây dựng một phương pháp mới, hiệu quả giúp việc học Lịch sử trở nên dễ dàng và hứng thú. Nhờ vậy, 2 năm liền em đoạt huy chương vàng Olympic Lịch sử lớp 10 và 11 cấp tỉnh; giải nhất học sinh giỏi Lịch sử cấp tỉnh lớp 12; là một trong 9 học sinh thuộc đội tuyển thi quốc gia môn Lịch sử của tỉnh năm học 2016-2017; 3 năm liền là học sinh giỏi toàn diện.
Dù đạt nhiều thành tích cao trong học tập nhưng Lùn luôn khiêm tốn và cầu thị, học hỏi để ngày càng tiến bộ. Em nói: “Chính những giá trị lịch sử đã giúp em có định hướng rõ ràng để có thể hoàn thành mọi mục tiêu mình đặt ra”.
Em Trịnh Phương Linh, Bí thư Chi đoàn lớp 12C1 cho biết: “Lùn hòa đồng, khi các bạn trong lớp cần giúp đỡ, hỗ trợ về kiến thức Lùn luôn sẵn sàng chia sẻ. Với thành tích học tập đáng nể, Lùn là tấm gương sáng để các bạn noi theo”. Cô Mai Thị Phương, giáo viên môn Lịch sử Trường THPT Đồng Xoài, cũng là giáo viên chủ nhiệm của Hoàng Kim Lùn lớp 10 và 11, đã không tiếc lời khen ngợi: “Không chỉ tôi, mà các thầy cô giáo bộ môn đều đánh giá cao tinh thần học tập của em Lùn. Đứng lớp nhiều năm nhưng Lùn là một trong số học sinh làm cho tôi cảm thấy tự hào nhất”.
**Nguồn tin: **baobinhphuoc.com.vn

Strict-Transport-Security: max-age=31536000; preload

Cache-Control: max-age=0, no-cache, no-store, must-revalidate

Set-Cookie: nv4_nvvithemever=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=.tinhdoanbinhphuoc.vn; HttpOnly

Connection: Upgrade, close


markdown:
## Đèn Led Philips đường phố – Green Vision Xceed BRP371/372/373
Khi tìm đến với dòng
[đèn led Philips](http://bongdenphilip.com/danh-sach-san-pham/2/bong-den-led-philips.html) đường phố – Green Vision Xceed BRP371/372/373 là bạn đã tìm thấy được giải pháp chiếu sáng đường phố mang lại sự hiệu quả cao trong quá trình sử dụng. Tiết kiệm năng lượng đáng kể so với đèn đường thông thường. Với bộ đèn Led hoàn toàn đáng tin cậy của Philips đảm bảo cung cấp khả năng chiếu sáng cao với bộ điều khiển đèn tự động vô cùng thân thiện với người sử dụng. Đặc điểm của bóng đèn Led chiếu sáng đường phố Philips Green Vision Xceed có ánh sáng trắng trung tính tạo cảm giác thoải mái, không chói mắt, an toàn cho mọi người lưu thông trên đường bộ.
Chính vì những tính năng nổi trội đã liệt kê ở trên đèn đường Led Philips – Green Vision Xceed BRP371/372/373 đã được dùng để chiếu sáng ở các công trình đường phố, đường chính, đường khu công nghiệp, ngoài trời, đường cao tốc, đường phụ, đường giao thông khu dân cư,…
Cùng với công nghệ Led cao cấp của Philips bộ đèn đường Led BRP371/372/373 cung cấp tiềm năng tiết kiệm năng lượng trong chiếu sáng đường phố vô cùng lớn. Đèn đường Led Philips – Green Vision Xceed BRP371/372/373 với thiết kế độc đáo gồm 3 dòng sản phẩm cung cấp khả năng chiếu sáng phục vụ hầu hết các kết cấu và điều kiện đường xá khác nhau, phù hợp với mọi đặc tinh chiếu sáng đô thị.
**Email:** *info@hoangphatlighting.vn* **Website:** *www.hoangphatlighting.com*
- Giao diện đẹp như ý
- Website load cực nhanh
- Tối ưu hóa chuẩn SEO Audit
- Thiết kế chuẩn UX / UI
- Nâng cấp tính năng dễ dàng
- Lập trình website không lỗi
(028) 6266 1155
0902 304 818
**THÔNG BÁO LỖI:**
### Bài viết liên quan
[Biến đổi hóa học xảy ra trong hạt cà phê khi dùng máy rang cafe](https://trangthietbidien.com/bien-doi-hoa-hoc-xay-ra-trong-hat-ca-phe-khi-dung-may-rang-cafe-147-3505.html)(08/07) [Hiệu quả chuyên chở hàng hóa tuyệt vời của vận tải biển](https://trangthietbidien.com/hieu-qua-chuyen-cho-hang-hoa-tuyet-voi-cua-van-tai-bien-147-3412.html)(23/06) [Tìm hiểu về chế độ hẹn giờ của máy rang cà phê](https://trangthietbidien.com/tim-hieu-ve-che-do-hen-gio-cua-may-rang-ca-phe-147-3499.html)(20/06) [Phụ kiện inox 304 với sự đa dạng về mẫu với giá cả hợp lý](https://trangthietbidien.com/phu-kien-inox-304-voi-su-da-dang-ve-mau-voi-gia-ca-hop-ly-147-3498.html)(18/06) [Nhiệt độ của máy rang cà phê bao nhiêu là phù hợp nhất?](https://trangthietbidien.com/nhiet-do-cua-may-rang-ca-phe-bao-nhieu-la-phu-hop-nhat-147-3497.html)(14/06) [Vật liệu gia công bánh răng bao bền và đẹp](https://trangthietbidien.com/vat-lieu-gia-cong-banh-rang-bao-ben-va-dep-147-3496.html)(13/06) [Gia công bánh răng thép với nhiều mãu mã đẹp](https://trangthietbidien.com/gia-cong-banh-rang-thep-voi-nhieu-mau-ma-dep-147-3488.html)(28/05) [Chi phí gia công khuôn mẫu cực kì hấp dẫn tại Bến Thành Equipment](https://trangthietbidien.com/chi-phi-gia-cong-khuon-mau-cuc-ki-hap-dan-tai-ben-thanh-equipment-147-3480.html)(15/05) [Thực trạng nghề gia công cơ khí tiện phay bào hiện nay](https://trangthietbidien.com/thuc-trang-nghe-gia-cong-co-khi-tien-phay-bao-hien-nay-147-3423.html)(17/03) [Những tiêu chí khi tìm đối tác gia công cơ khí](https://trangthietbidien.com/nhung-tieu-chi-khi-tim-doi-tac-gia-cong-co-khi-147-3404.html)(26/02)


markdown:
Tiếng Việt
English
Tiếng Việt
Các bài viết (1)
Về tác giả
Danh sách tác giả
Trương Cam Vũ
Mới nhất
A-Z
Z-A
Hán Dịch Kim Vân Kiều - Nam Âm Thi Tập
17 Tháng Bảy 2018
1:53 CH
Hán Việt văn đối chiếu. Bản dịch chữ Hán của Trương Cam Vũ. Xuất bản năm 1961 tại Chợ Lớn.
Quay lại
Copyright © 2018
tusachtiengviet.com
All rights reserved

Set-Cookie: fn.gzip=1;expires=Fri, 18 Aug 2028 02:52:55 GMT;path=/

Cache-Control: no-cache

Vary: Accept-Encoding,Cookie


markdown:
[Những điều cần biết khi mua bảo hiểm nhân thọ cho cha mẹ](https://tuvan-baohiemnhantho.com/nhung-dieu-can-biet-khi-mua-bao-hiem-nhan-tho-cho-cha-me.html)
Tháng Mười 21, 2017
[Câu hỏi thường gặp](https://tuvan-baohiemnhantho.com/cau-hoi-bhnt) [Không có phản hồi](https://tuvan-baohiemnhantho.com/nhung-dieu-can-biet-khi-mua-bao-hiem-nhan-tho-cho-cha-me.html#respond) [](https://tuvan-baohiemnhantho.com/nhung-dieu-can-biet-khi-mua-bao-hiem-nhan-tho-cho-cha-me.html)
![ ](https://tuvan-baohiemnhantho.com/wp-content/uploads/2017/10/mua-bảo-hiểm-nhân-thọ-cho-cha-mẹ-300x200.jpg)
Người cao tuổi là đối tượng rất dễ bị tổn thương tới sức khỏe bởi nhiều yếu tố. Để đảm bảo một sự chuẩn bị tốt nhất đối với …

Vary: User-Agent,Accept-Encoding


markdown:
Chọn hệ điều hành, ngôn ngữ và kiến trúc máy tính của bạn.
Đã chọn: LibreOffice
**Mac OS X (Intel), phiên bản 4.1.4, Tiếng Việt**
No regular installation files are available.
Please change your selection or pick one from the additional downloads below.
Nếu bạn cần những phiên bản cũ, hãy xem trang
[này](http://downloadarchive.documentfoundation.org/libreoffice/old).
Tải tập tin ISO để tạo đĩa cài đặt.
LibreOffice là một dự án mã nguồn mở và dĩ nhiên bạn có thể tải về mã nguồn để tạo bản cài đặt riêng.

Content-Type: text/html; charset="utf-8"

Set-Cookie: bypassStaticCache=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; httponly

Cache-Control: no-cache, max-age=0, must-revalidate


markdown:
# Thể loại:Sân bay El Salvador
[Jump to navigation](#mw-head) [Jump to search](#p-search)
|
|![]()
|Wikimedia Commons có thư viện hình ảnh và phương tiện truyền tải về |
## Các trang trong thể loại “Sân bay El Salvador”
Thể loại này gồm trang sau.
|
|![]()
|Wikimedia Commons có thư viện hình ảnh và phương tiện truyền tải về |
Thể loại này gồm trang sau.

P3P: CP="This is not a P3P policy! See https://vi.wikipedia.org/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:CentralAutoLogin/P3P for more info."

Vary: Accept-Encoding,Cookie,Authorization

Link: </static/images/project-logos/viwiki.png>;rel=preload;as=image;media=not all and (min-resolution: 1.5dppx),</static/images/project-logos/viwiki-1.5x.png>;rel=preload;as=image;media=(min-resolution: 1.5dppx) and (max-resolution: 1.999999dppx),</static/images/project-logos/viwiki-2x.png>;rel=preload;as=image;media=(min-resolution: 2dppx)

Via: 1.1 varnish (Varnish/5.1), 1.1 varnish (Varnish/5.1), 1.1 varnish (Varnish/5.1)

X-Cache: cp1083 pass, cp2019 miss, cp2004 miss

X-Cache-Status: miss

Set-Cookie: GeoIP=US:VA:Ashburn:39.05:-77.47:v4; Path=/; secure; Domain=.wikipedia.org

Cache-Control: private, s-maxage=0, max-age=0, must-revalidate


markdown:
# Thể loại:Trang có phép làm tròn sai
[Jump to navigation](#mw-head) [Jump to search](#p-search)
Các trang này đưa một giá trị không hợp lệ (chẳng hạn không phải số) vào {{
[rnd](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Rnd)}}.
## Các trang trong thể loại “Trang có phép làm tròn sai”
91 trang sau nằm trong thể loại này, trên tổng số 91 trang.
### C
[Calascio](/wiki/Calascio) [Campo di Giove](/wiki/Campo_di_Giove) [Campotosto](/wiki/Campotosto) [Castel del Monte, Abruzzo](/wiki/Castel_del_Monte,_Abruzzo) [Castelvecchio Calvisio](/wiki/Castelvecchio_Calvisio) [Castrezzato](/wiki/Castrezzato) [Cetoraz](/wiki/Cetoraz) [Challand-Saint-Anselme](/wiki/Challand-Saint-Anselme) [Chamois, Thung lũng Aosta](/wiki/Chamois,_Thung_l%C5%A9ng_Aosta) [Champorcher](/wiki/Champorcher) [Chrastavec](/wiki/Chrastavec) [Civitella Alfedena](/wiki/Civitella_Alfedena) [Cogne](/wiki/Cogne) [Bản mẫu:Convert/Dual/prand](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/Dual/prand) [Bản mẫu:Convert/Dual/prand2](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/Dual/prand2) [Bản mẫu:Convert/list of units/energy](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/list_of_units/energy) [Bản mẫu:Convert/list of units/energy/metric](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/list_of_units/energy/metric) [Bản mẫu:Convert/pround](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/pround) [Bản mẫu:Convert/proundi](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/proundi) [Bản mẫu:Convert/proundT0](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/proundT0) [Bản mẫu:Convert/proundT1](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/proundT1) [Bản mẫu:Convert/roundi](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/roundi) [Bản mẫu:Convert/sround](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/sround) [Bản mẫu:Convert/sroundT0](/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Convert/sroundT0) [Courmayeur](/wiki/Courmayeur)

X-Cache: cp1075 pass, cp2016 miss, cp2004 miss


markdown: Home Nhà thuốc Mai AnhNhà thuốc Mai Anh04/09/2015765Địa chỉ : Kim Sơn – Sơn Tây Nhà thuốc Mai AnhĐánh giá

Link: <https://vindermen.com/wp-json/>; rel="https://api.w.org/", <https://vindermen.com/?p=1178>; rel=shortlink


markdown:
|Máy bơm chìm nước thải Tsurumi KTZ32.2, công suất: 2.2KW/380V|
Bơm chìm nước thải Tsurumi KTZ32.2được sử dụng trong các trạm xử lý nước thải trong thành phố , các công trình thoát nước thành phố , Thủy lợi , nông nghiệp , thủy sản , khai thác hầm mỏ , xây dựng dân dụng và công nghiệp , công nghiệp quốc phòng , các nhà máy công nghiệp chế biến , các khu dân cư , nhà cao tầng , khách sạn , các khu công nghiệp , khu chế xuất , các nhà máy , xí nghiệp , các nhà máy xử lý nước sạch , Cấp nước sinh hoạt , xây dựng cầu đường , các công trình biển , dàn khoan dầu , các cảng biển,...
[IMG]http://sieuthimaybom.vn/upload/images/product_1437587534.jpg[/IMG]
Thông tin về sản phẩm:
* Model: KTZ 32.2
Các sản phẩm bơm nước thải Tsurumi được nhập khẩu và phân phối trực tiếp bởi Công ty CP Matra Quốc Tế . Hàng hóa có đầy đủ chứng từ nguồn gốc (CO), chất lượng (CQ), bảo hành 12 tháng theo tiêu chuẩn của hãng. Để biết thêm chi tiết về sản phẩm cũng như báo giá. Quý khách vui lòng liên hệ:
Công ty CP Matra Quốc Tế
Đăng nhập tài khoản
Email của bạn đã được đăng ký trước rồi.
Đăng ký tài khoản
Email của bạn đã được đăng ký trước rồi.
**Hoặc**

Cache-Control: no-store, no-cache, must-revalidate