Bối cảnh
Bạn mới bắt đầu và chỉ có một lượng kiến thức khá hạn hẹp về một
hoặc hai ngôn ngữ lập trình.
Vấn đề
Bạn
cảm thấy công việc của mình phụ thuộc vào việc bạn phải đưa ra một giải pháp
viết bằng một ngôn ngữ lập trình cụ thể và phải cùng một tiêu chuẩn chất lượng
so với các đồng nghiệp. Hoặc, việc đạt được công việc ngay từ đầu phụ
thuộc vào năng lực của bạn trong một ngôn ngữ lập trình cụ thể nào đó.
Giải pháp
Hãy
chọn một ngôn ngữ. Sử dụng thành thạo ngôn ngữ đó. Trong vài năm tới, đây sẽ là
ngôn ngữ chính mà bạn sử dụng để xử lý các vấn đề, cũng như là ngôn ngữ mặc
định để bạn trau dồi và luyện tập. Sự lựa chọn này là một thử thách. có thể
thực hiện một số bước để tạo ra một môi trường sandbox để trải nghiệm.
Thỉnh
thoảng, những công cụ này là không đủ, bạn cần một môi trường sandbox lớn hơn.
Dave thích giữ một lớp (class) Java trống để mở trong IDE của anh ấy khi muốn
luyện tập với một API mới hoặc tính năng nào đó của ngôn ngữ:
1
2
3
4
5
|
public class
Main
{ public
static
void
main(String[]
args) throws Exception { System.out.println(/*play
with stuff here*/); } } |
Bắt
đầu với việc thực hiện những bước nhỏ có phần vô nghĩa, khi bạn tiếp tục luyện
tập, những bước nhỏ này phát triển tương ứng. Ví dụ, ngôn ngữ Ruby có chức năng
giúp bạn áp dụng một khối mã vào tất cả các phần tử của một danh sách và thu
thập kết quả vào một danh sách mới. Bạn có thể viết mã như sau để có thể hiểu
được chức năng này:
1
2
3
4
5
6
7
8
9
10
11
|
</p> require "test/unit" class LearningTest
< Test::Unit::TestCase def
test_my_understanding_of_blocks_and_procs original
= [1, 2, 3] expected
= [2, 3, 4] p
= Proc.new { |n| n + 1 } assert_equal
expected, original.map(&p) end end <p style="text-align:
justify;"> |
Cuối
cùng, bạn sẽ tiến bộ từ việc chỉ viết learning test đến viết test để kiểm tra
mã thật sự của bạn hơn là việc bạn hiểu về cấu trúc và các API. Dần dần, bạn sẽ
thấy rằng có nhiều kĩ thuật hơn những kiểm thử đơn vị đơn giản mà dùng máy tính
kiểm chứng công việc của bạn cũng như giao tiếp với các thành viên trong nhóm.
Ralph Johnson nói về học một ngôn ngữ
Trường
hợp tốt nhất là bạn làm việc với một chuyên gia trong một dự án sử dụng ngôn
ngữ đó, dù chỉ mỗi Thứ Năm hằng tuần. Sẽ tốt nhất nếu bạn tự làm dự án và mang
mã tới gặp chuyên gia vào bữa trưa, hai lần/tuần.
Bạn
có thể tự học một ngôn ngữ nhưng sẽ mất rất nhiều thời gian để học được cái hồn
của một ngôn ngữ trừ khi bạn tương tác với những chuyên gia.
Hành động
Nếu
thư viện chuẩn của ngôn ngữ là mã nguồn mở, hãy đọc qua nó bằng cách sử dụng
các kỹ thuật được mô tả trong Use
the Source pattern. Bạn không thể bị ấn tượng bởi chất lượng
của mã mà bạn nhìn thấy ở đó, nhưng hãy nhớ rằng các người viết mã đó không có
cộng đồng để học hỏi và phải làm mọi thứ khi họ bắt đầu. Hãy xem xét gửi cho họ
một bản sửa lỗi để khắc phục bất kỳ lỗi nào bạn phát hiện.
Không có nhận xét nào:
Đăng nhận xét