Code sạch, code khô thoáng
Contents
Đây là một số phương pháp khi tớ làm việc với obj c. Với mỗi người, tổ chức có thể khác, thế nên cái này chỉ mang tính tham khảo. 😄
Sử dụng immutable
Đối với array hay dictionary nếu không cần sử dụng mutable thì ta nên viết như sau:
|
|
Thay vì viết:
|
|
Như thế code nhìn trông gọn và dễ đọc hơn, đối với các biến dạng số hoặc bool được đưa vào trong dictionary để gửi lên server ta cũng nên làm như vậy.
|
|
Thay vì
|
|
Sử dụng category
Frame được sử dụng nhiều khi viết code iOS, ta có thể tạo ra một file chứa các c function chuyên làm việc với frame, hay tạo ra một macro. Ví dụ như muốn lấy originX của 1 uiview:
|
|
Hoặc ngắn hơn với macro
|
|
Tuy nhiên sử dụng category cũng là một lựa chọn thời thượng. Giả sử bạn có thể lấy originX bằng cách sau:
|
|
Khá ngắn gọn, clear, dễ chỉnh sửa. Category còn đặc biệt với những ai hay gửi nhận dữ liệu lên server, đôi khi dictionary sẽ trả về một cái object null. Việc check null ở nhiều chỗ khác nhau khá là tốn thời gian nếu cứ phải viết đi viết lại như thế này
|
|
Ta có thể đưa vào category theo cách sau
|
|
Sau đó ở tất cả mọi nơi chỉ cần gọi
|
|
Sử dụng block
|
|
Gộp các đoạn code sử dụng chung cho một mục đích vào trong 1 block, với cách này thì giá trị return tương ứng với dòng cuối trong block.
Cách đặt tên
Nhiều tài liệu của apple cũng có nói về cách đặt tên. Mọi người hãy chú ý delegate của uitableview hay uicollectionview sẽ thấy có nhiều điểm tương đồng trong cách đặt tên hàm. Ví dụ guide của apple datten
Từ cách đặt tên trên ta có thể tạo ra enum như sau
|
|
Công thức chung là [tên class][tên enum], cụ thể như ví dụ trên [GGAnimationView][Type]. Các giá trị enum [tên class][tên enum][các giá trị]. Các giá trị FadeIn, FadeOut,….
Tóm lại là code càng ngắn gọn càng dễ hiểu, trừ cách đặt tên biến ra :v.
Author VietHQ
LastMod 2016-09-05