Trao đổi về kỹ năng viết code VBA (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,216
Được thích
24,735
Thời gian vừa rồi tôi có giúp đỡ 1 số thành viên xây dựng và nâng cấp 1 số đoạn code VBA (do một số thành viên GPE xây dựng giúp). Phải công nhận nhiều anh chị có kiến thức lập trình uyên thâm, phương pháp xử lý rất hay, code trong sáng và dễ hiểu (gần như viết trên nền thuật toán tối ưu nhất). Tuy nhiên, một số anh chị viết code còn mắc 1 số những thiếu sót không đáng có, như vấn đề anh Nguyễn Duy Tuân đã trao đổi:

http://www.giaiphapexcel.com/forum/showthread.php?130-Viết-hàm-như-thế-nào-là-tốt

Tôi thống kê những thiếu sót hay mắc phải:

- Không có comment về Sub, Function hoặc 1 đoạn code. Nếu code chuẩn, không phải sửa chữa thì không vấn đề gì, nhưng thông thường thì khó hoàn chỉnh chỉ 1 lần. Nhưng nếu cần sửa hay nâng cấp hiểu code từ người khác là rất cực khi tìm cách hiểu tác giả đoạn code cũ muốn làm việc gì??? (bản thân chính người lập sau đó cũng khó mà nhớ được).

- Khai báo tên hàm + thủ tục biến + tên biến + kiểu biến (hoặc không khai báo) rất tùy tiện, theo ý muốn chủ quan người lập mà không có một quy định cụ thể nào. Chương trình nào nhiều Sub hay Function thì phải mò mẫn...

- Một dự án nhiều người xây dựng code theo các phong cách khác nhau, điều đó dẫn đến sự khó khăn nếu phải khớp nối các Sub hay Function.

- Không giải phóng biến là đối tượng Object.

- Lạm dụng các chức năng sẵn có trong Excel. Nếu Excel có sự thay đổi, nâng cấp mà không hỗ trợ thì dễ phát sinh lỗi từ đây.

 
Ngoài ra 1số thành viên có thói quen sử dụng dòng cuối cùng của 2003 làm giới hạn (65xxxx), nhưng với bản 2007 thì vẫn vậy.
 
Upvote 0
Ngoài ra 1số thành viên có thói quen sử dụng dòng cuối cùng của 2003 làm giới hạn (65xxxx), nhưng với bản 2007 thì vẫn vậy.
Theo em, cái vụ này là copy của cái cũ qua cái mới, hoặc lấy file 2003 save as thành file 2007. Tuy nhiên, vào thời điểm giao thời giữa 2003 (một quá trình lâu dài và dễ sử dụng) và 2007 trở về sau (thay đổi nhanh chóng, giao diện lạ mắt) đã khiến cho rất nhiều người chưa từ bỏ phiên bản cũ và cài phiên bản mới, cho nên một số ứng dụng vẫn viết chủ yếu cho 2003, khi qua máy 2007 sử dụng, có biên dịch qua lại giữa 2003 và 2007 vẫn không bị lỗi tràn dòng (over float).
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom