Các điểm mới trong Visual Studio 2017 – Bài 2

Các điểm mới trong Visual Studio 2017 – Bài 2
access_time 11/30/2017 12:00:00 AM
person Lê Đình Thành

6. Cấu hình phong cách khi viết mã chương trình

Một số đề nghị được Visual Studio 2017 cung cấp cho phép thiết lập các phong các code giúp cho các lập trình viên thực hiện viết Code tường minh và rõ dàng hơn. Để thực hiện công việc này các bạn vào : Tools > Options > Text Editor > C# > Code Style như hình mô tả dưới đây.


Hình số 1 : Cấu hình phong cách khi viết code

Trong ví dụ ở hình trên, từ khóa var có thể được lập trình viên thực hiện khi khai báo biến và thiết lập giá trị khởi đầu cho nó là 0; Tuy nhiên với các kiểu giá trị được C# cung cấp sẵn như int, double … thì việc thiết lập giá trị khi khai báo và sử dụng lên được thực hiện một cách tường minh. Có nghĩa là Visual Studio 2017 khuyên lập trình viên lên sử dụng khai báo : int capacity = 0; thay vì sử dụng var capacity = 0;

Ví dụ : Nếu đoạn mã chúng ta viết như sau :


Hình số 2 : Đề nghị khi thực hiện khai báo biến

Khi đó dưới từ khóa var sẽ xuất hiện các dấu chấu nhỏ có nghĩa là từ khóa khai báo này được đề nghị lên thay đổi. Khi đó lập trình viên sử dụng tổ hợp phím Ctrl+ trên từ khóa var Khi đó một menu chứa hành động gợi ý nhằm thay thế từ khóa var bằng int.


Hình số 3 : Ví dụ đề nghị thay đổi từ khóa var

 Cách thức này trợ giúp cho lập trình viên khi thực hiện viết code sẽ được sáng sủa và tường minh hơn.

7. Cải tiến trong việc thực hiện tái cấu trúc khi thực hiện viết mã chương trình.

Tái cấu trúc khi thực hiện viết mã (code refactoring hay Software Gardening – Pruning) không phải là quá trình lập trình viên xây dựng lại các đoạn mã đã có trong chương trình, mà là tiến trình tái cấu trúc lại các đoạn mã đã có sẵn trong chương trình nhưng không làm thay đổi hành vi (chức năng) của đoạn mã đó.

Mục tiêu chính của quá trình tái cấu trúc là làm cho các đoạn mã trở lên tốt hơn. Đây là tiến trình quan trọng đối với bất kỳ các lập trình viên nào khi thực viết viết mã xây dựng chương trình.

Trong bộ Visual Studio 2017, ngoài các chức năng đã có sẵn trong các bộ Visual Studio 2015 thì nó còn cung cấp một số các tính năng nhằm thực hiện việc tái cấu trúc một cách tốt hơn.

7.1 Khởi tạo đối tượng

C# 3.0 đã cung cấp cho chúng ta cú pháp mới cho việc khởi tạo đối tượng. Tuy nhiên để minh họa cho việc hỗ trợ tính năng này, chúng ta khởi tạo đối tượng theo cách thông thường, ví dụ minh họa hình sau :

 

Hình số 4 : Khởi tạo đối tượng

Để thay đổi đoạn mã ở hình trên bằng việc sử dụng cú pháp tự động khởi tạo đối tượng trong C# 3. Visual Studio 2017 cung cấp tính năng cho phép các lập trình viên thực hiện việc này một cách dễ dàng.

Chúng ta quan sát ở hình số 4. Chúng ta thấy phía dưới từ khóa new sẽ xuất hiện các dấu chấm nhỏ, chúng ta di chuyển chuột lên trên từ khóa new, và mở cửa sổ pop up khi đó đối tượng khởi tạo tự động (theo cú pháp khởi tạo đối tượng C# 3) sẽ được thực hiện một cách dễ dàng.

 

Hình số 5 : Gợi ý thao các nhanh

Lựa chọn gợi ý (click vào mũi tên xuống) của menu thao tác nhanh, khi đó gợi ý nhằm tái cấu trúc lại đoạn mã khởi tạo đối tượng sẽ được hiển thị như hình sau :

 

Hình số 6 : Hình ảnh tái cấu trúc đoạn mã khởi tạo đối tượng

Lúc này các bạn sẽ nhìn thấy đoạn mã khởi tạo đối tượng (hình số 4) sẽ được tái cấu trúc lại như sau :


Hình số 7 : Kết quả tái cấu trúc việc khởi tạo đối tượng

7.2 Quản lý việc kiểm tra các giá trị  null của các tham biến của hàm – Phương thức

Khi các tham biến đầu vào của các phương thức có kiểu tham chiếu (Kiểu đối tượng), thì việc truy xuất các tham biến này là rất quan trọng, việc kiểm tra các giá trị có null hay không là một công việc cần thiết của các lập trình viên.

Bộ Visual studio 2017 cung cấp tiến trình tái cấu trúc các đoạn mã đối với các phương thức có tham số đầu vào có kiểu tham chiếu, các tham số này cần được kiểm tra có null hay không trước khi thực hiện truyền giá trị đầu vào cho phương thức này.

Ví dụ trong lớp Payroll trong file Payroll.cs, chúng ta bổ sung phương thức CalculateSalary() với đoạn mã như sau :

public void CalculateSalary(Employee emp) {

 }

Để thực hiện việc kiểm tra giá trị null của tham biến emp, click phải trên tham biến emp, thực hiện lựa chọn Quick action and Refactorings như trong hình dưới đây :


Hình số 8 : Lựa chọn tái cấu trúc kiểm tra tham biến đầu vào

Khi đó cửa sổ trợ giúp tiến trình tái cấu trúc kiểm tra giá trị null của tham số đầu vào của phương thức CalculateSalary() sẽ hiển thị như sau :


Hình số 9: Trợ giúp tiến trình tái cấu trúc kiểm tra giá trị null

Nếu chúng ta lựa chọn tiến trình kiểm tra giá trị null thì đoạn mã kiểm tra giá trị null sẽ được tự động bổ sung vào phương thức.


Hình số 10 : Bổ sung đoạn mã kiểm tra tham biến đầu vào với giá trị null

8. Trợ giúp hiển trị các Exception tường minh hơn

Trong quá trình xây dựng các đoạn mã của chương trình, lập trình viên luôn phải quan tâm tới các Exception. Với các lập trình viên ít kinh nghiệm, quá trình phát hiện nguyên nhân thực sự của các Exception có thể gây ra phiền phức và bực bội.  

Với các bộ Visual Studio phiên bản trước 2017, hiển thị thông tin của Exception được mô tả qua ví dụ sau :

 

Hình số 11 : Ví dụ mô tả Exception của các bộ Visual Studio trước 2017

Trong trường hợp này thử thách chính đối với các lập trình viên đó chính là việc tìm ra nguyên nhân chính gây ra exception khi đó chúng ta thường chọn View Details và Inner Exception để tìm ra nguyên nhân.

Với bộ Visual Studio tiến trình này sẽ được thực hiện một cách dễ dàng hơn. Hình vẽ sau mô tả điều này :


Hình số 12 : Hiển thị thông tin Exception với Visual Studio 2017

Hình trên cung cấp cho lập trình viên nguyên nhân chính gây ra Exception. Trong trường hợp này là tham biến đầu vào của phương thức có giá trị null.

Kết luận

Qua 2 bài viết tôi đã mô tả cho các bạn một số các đặc trưng mới và quan trọng của bộ Visual Studio 2017. Đây là bộ visual studio cung cấp cho các lập trình viên có thể phát triển ứng dụng trên nhiều nền tảng công nghệ khác nhau. Để tìm hiểu chi tiết hơn các bạn có thể tra cứu trên trang website chính thức của microsoft.


vertical_align_top
share
Chat...