Cảm giác mở Visual Studio lên mà không biết viết gì đầu tiên

Toc

(getProduct) #button=(Buy Now) #price=(800.000đ) #sale=(599.000đ)
Chia sẻ trải nghiệm thực tế khi học Lập trình WinForm với C#: 10 ứng dụng của giảng viên Trần Duy Thanh cho người mới bắt đầu từ con số 0.

Loay hoay với những dòng code đầu tiên trong Lập trình WinForm với C#: 10 ứng dụng

Nói thật là lúc mới tìm hiểu về lập trình, mình thấy hoang mang kinh khủng. Cứ lên mạng search thì ra hàng nghìn video tutorial, nhưng cái nào cũng nói một kiểu. Mình không biết nên học cái gì trước, cái gì sau, rồi cuối cùng là đứng hình trước cái màn hình đen ngòm của console.


Mình vốn là kiểu người dễ mất tập trung. Có hôm ngồi vào bàn học, nhưng chỉ sau vài phút là tâm trí đã bay đi đâu mất. Thậm chí có buổi mình vừa mở máy lên học mà trong đầu cứ lo chuẩn bị cơm tối cho kịp giờ, thế là code được vài dòng rồi lại đứng dậy chạy vào bếp.


Khi đó, mình chỉ muốn một cái gì đó thật đơn giản, một lộ trình rõ ràng để biết mình đang ở đâu. Thế nên khi biết đến khóa Lập trình WinForm với C#: 10 ứng dụng của thầy Trần Duy Thanh, mình quyết định thử xem sao.


Những ngày đầu chật vật với lỗi gạch đỏ

Hai ba hôm đầu mình chật vật thực sự. Dù thầy hướng dẫn chi tiết nhưng mình vẫn gặp những lỗi ngớ ngẩn. Có lúc mất cả tiếng đồng hồ chỉ để tìm ra một dấu chấm phẩy bị thiếu hoặc gõ sai tên biến. Lúc đó cảm giác cực kỳ nản, tự hỏi hay là mình không hợp với cái nghề này.


Nhưng điều mình thích ở đây là cách tiếp cận khá thực tế. Thay vì bắt mình đọc một cuốn sách lý thuyết dày cộp về C#, thầy đi thẳng vào việc vận hành. Việc nhìn thấy một cái cửa sổ hiện lên với các nút bấm (Button) hay ô nhập liệu (TextBox) khiến mình thấy hứng thú hơn là mấy dòng chữ trắng trên nền đen.


Nói chung là lúc đầu cứ làm theo, sai thì sửa. Có những đoạn mình nghe giảng thấy đơn giản lắm, nhưng đến lúc tự gõ lại thì máy báo lỗi đỏ lòm. Đó là chuyện bình thường khi mới học, miễn là mình không bỏ cuộc giữa chừng.


Từ lý thuyết OOP đến việc điều khiển các Control

Một trong những phần khó nhằn nhất với mình là Lập trình hướng đối tượng (OOP). Mấy khái niệm như Class, Object hay Kế thừa ban đầu nghe như tiếng nước ngoài vậy. Mình từng bị kẹt ở chỗ không hiểu tại sao phải chia ra nhiều Class cho phức tạp làm gì.


Nhưng khi bắt tay vào thiết kế giao diện WinForm, mình mới nhận ra giá trị của nó. Việc quản lý các Control trong giao diện, xử lý sự kiện khi click chuột hay thay đổi giá trị của một ComboBox trở nên dễ dàng hơn khi mình nắm được tư duy đối tượng.


Thầy Thanh hướng dẫn khá kỹ về cách sử dụng các Control. Từ những cái cơ bản như Label, Button cho đến những thứ phức tạp hơn như DataGridView để hiển thị bảng dữ liệu. Có những lúc mình làm sai logic, dẫn đến việc nhấn nút này mà nó lại nhảy sang chức năng kia, cười ra nước mắt.


Cuộc chiến với SQL Server và chuỗi kết nối

Đến phần làm việc với cơ sở dữ liệu, mình lại một lần nữa rơi vào trạng thái hoang mang. Kết nối C# với Microsoft SQL Server không hề đơn giản như mình tưởng. Lỗi Connection String là thứ ám ảnh mình suốt một tuần.


Chỉ cần sai một dấu ngoặc hay sai tên Server là ứng dụng văng ra lỗi Exception ngay lập tức. Lúc này, kỹ năng gỡ lỗi (debug) và kiểm soát ngoại lệ bằng try-catch mà thầy dạy trở thành cứu cánh. Nếu không có phần này, chắc mình đã xóa luôn cái Visual Studio cho rảnh nợ.


Khi đã kết nối được và bắt đầu thực hiện các thao tác Thêm, Xóa, Sửa dữ liệu, mình mới thực sự cảm thấy mình đang làm ra một phần mềm thực thụ. Cảm giác dữ liệu mình nhập trên giao diện WinForm được lưu chính xác vào bảng SQL nó sướng khó tả.


Nếu bạn cũng đang loay hoay giữa một rừng tài liệu rời rạc, thì việc tìm một nơi hệ thống lại mọi thứ như Học online 24h sẽ giúp tiết kiệm được rất nhiều thời gian mò mẫm.


Kiến trúc đa tầng và bài học về sự ngăn nắp

Trước đây, mình có thói quen viết tất cả code xử lý vào trong sự kiện click của Button. Kết quả là một hàm dài dằng dặc, nhìn vào chẳng biết cái gì đang chạy. Khi thầy giới thiệu về mô hình đa tầng (Multi-tier), mình mới thấy mình sai lầm thế nào.


Việc tách biệt giữa tầng giao diện (GUI), tầng nghiệp vụ (BUS) và tầng truy xuất dữ liệu (DAL) ban đầu làm mình thấy rắc rối vì phải tạo quá nhiều file. Nhưng sau đó, khi cần sửa một logic tính toán, mình chỉ cần vào đúng file BUS để sửa mà không làm ảnh hưởng đến giao diện.


Đây là phần mình thấy giá trị nhất vì nó thay đổi hoàn toàn tư duy viết code của mình. Từ chỗ viết cho chạy được, mình bắt đầu quan tâm đến việc viết cho dễ bảo trì. Nói chung là từ từ mới ngấm được, chứ ngày đầu thì chỉ thấy mệt vì phải quản lý nhiều folder.


Đóng gói ứng dụng và 10 bài tập thực tế

Phần cuối của khóa học là đóng gói ứng dụng để xuất bản. Lúc này mình mới biết cách tạo ra một file cài đặt để gửi cho bạn bè dùng thử. Cảm giác cầm cái file .exe chạy mượt mà trên máy khác thực sự rất tự hào.


Điểm nhấn chính là 10 ứng dụng thực hành. Thay vì chỉ học lý thuyết suông, việc làm 10 dự án nhỏ giúp mình va chạm với đủ loại lỗi. Có những bài tập mình tự giải được, nhưng cũng có những bài phải xem đáp án của thầy nhiều lần mới hiểu tại sao lại làm như vậy.


Có những hôm mình mất kiên nhẫn, tắt máy đi ngủ vì code mãi không ra. Nhưng hôm sau quay lại, tự nhiên thấy lỗi nằm ở một chỗ cực kỳ ngớ ngẩn. Lập trình hình như là vậy, đôi khi cần một khoảng nghỉ để não bộ tự sắp xếp lại.


Nhìn lại hành trình cùng Lập trình WinForm với C#: 10 ứng dụng

Nhìn lại quãng thời gian học, mình thấy mình không còn sợ hãi khi đối mặt với một dự án mới. Dù vẫn còn nhiều thứ phải học, nhưng ít nhất mình đã có một nền tảng vững về C# và WinForm. Từ một người không biết bắt đầu từ đâu, giờ mình đã có thể tự tay xây dựng những ứng dụng quản lý cơ bản.


Khóa học này không biến mình thành siêu nhân lập trình ngay lập tức, nhưng nó cho mình một lộ trình đi đúng hướng, không bị lạc lối trong đống tutorial miễn phí trên mạng. Đối với người mới, sự rõ ràng chính là thứ quan trọng nhất.


Học phí của khóa học này có thực sự xứng đáng không?

Theo mình thì xứng đáng. Thay vì mất vài tháng tự mò mẫm rồi nản chí, việc bỏ ra một khoản phí để có lộ trình bài bản và 10 dự án thực tế giúp mình đi nhanh hơn nhiều. Giá trị nằm ở việc hệ thống lại kiến thức chứ không chỉ là xem video.


Người chưa biết gì về lập trình có theo kịp không?

Theo kịp, nhưng sẽ vất vả ở 1-2 tuần đầu. Bạn sẽ gặp nhiều lỗi gạch đỏ và cảm thấy ngợp với OOP. Tuy nhiên, thầy Thanh hướng dẫn khá chi tiết, chỉ cần bạn kiên trì gõ lại code và thực hành theo là sẽ quen dần.


Khóa học này có giúp xin việc được ngay không?

Nếu chỉ học xong và copy code thì không. Nhưng nếu bạn thực sự hiểu mô hình đa tầng và tự phát triển thêm các tính năng cho 10 ứng dụng đó, bạn sẽ có một portfolio khá ổn để ứng tuyển vào các vị trí Fresher .Net. WinForm hiện nay vẫn rất phổ biến trong các phần mềm quản lý nội bộ doanh nghiệp.



#buttons=(Ok, Go it!) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Ok, Go it!