Getting Answers.doc

https://mikeash.com/getting_answers.html

mikeash.com: chỉ cần trang web này thôi, bạn biết đấy?

Để có được câu trả lời

 

Tôi dạo quanh một số diễn đàn và các cuộc trò chuyện liên quan đến việc lập trình và tôi bắt gặp rất nhiều người gặp khó khăn về câu trả lời. Họ không nhận được câu trả lời, câu trả lời rất tệ, hoặc chứa đựng rất nhiều sự hành hạ bằng lời nói. Là một người đặt câu hỏi, có một số điều đơn giản bạn có thể làm để giúp bạn tăng cơ hội nhận được câu trả lời tốt. Hướng dẫn này sẽ cho bạn thấy mười điều dễ dàng bạn có thể làm để đảm bảo câu hỏi của bạn được trả lời một cách nhanh chóng và tốt nhất.

 

Nếu bạn đang vội, bạn có thể bỏ qua việc giới thiệu nhàm chán và đi thẳng đến hướng dẫn.

 

Xin để lại ý kiến của bạn về bài viết này trong bài blog.

 

Những người khác đã viết nhiều bài viết về chủ đề này trước đây, nhưng họ gặp nhiều vấn đề. Mục tiêu của tôi là để tránh những vấn đề đó và làm một cái gì đó trực tiếp giúp ích cho bạn, những người gặp phải vấn đề, chứ không phải là một cái gì đó hữu ích cho những người trả lời câu hỏi.

 

Làm thế nào để đặt câu hỏi theo cách thông minh đó chính là hạ mình, đặc biệt là nếu bạn đã cảm thấy bị xúc phạm khi một ai đó nói với bạn rằng bạn cần giúp đặt câu hỏi. Nếu bạn được chỉ vào một hướng dẫn với một cái tên là những câu hỏi thông minh, điều đó có nghĩa là người này nghĩ rằng bạn có những câu hỏi hết sức ngu ngốc, và ai cần tới thứ đó chứ?

 

Những kẻ giúp đỡ hút máu: Hướng dẫn dành cho người theo dõi thì rất tuyệt, nhưng nó được viết từ phía bên kia. Trong khi nó  tuyệt vời dành cho những người dạo xung quanh các diễn đàn và trả lời nhiều câu hỏi và giúp họ đối phó với những kẻ mang danh nghĩa hút máu đó, đây không phải là một thứ gì đó hữu ích đối với một người muốn đặt câu hỏi.

 

Một hướng dẫn khác tôi mới phát hiện được là Nhận sự giúp đỡ về IRC. Nó là một người bạn đồng hành tiện dụng, mặc dù chúng có hơi hướng các khía cạnh quan trọng của các nghi thức trong IRC hơn là đối với những câu hỏi thực tế.

 

Và vì vậy, tôi trình bày cho bạn Để có được câu trả lời. Mục đích của bài viết này là để có được câu trả lời cho câu hỏi của bạn, không hơn không kém. Tôi sẽ hoàn toàn bỏ qua các thứ nhàm chán như cách thích hợp để chào hỏi mọi người hoặc khi đọc một chủ đề nào đó. Hướng dẫn này sẽ hướng dẫn bạn thông qua mười điều cơ bản bạn có thể làm để tăng cơ hội nhận được câu trả lời, và nâng cao chất lượng các câu trả lời bạn nhận được. Nhận được câu trả lời của RTFM! là coi như thất bại, không hơn gì việc không trả lời, và nhận được lời khuyên để giải quyết vấn đề của bạn là thành công. Tất cả các thứ khác chỉ là phụ.

 

  1. Giải thích những gì không hoạt động

Bạn nghĩ rằng điều này là quá rõ ràng, nhưng nó không phải như vậy. Nhiều người sẽ hỏi về kỹ thuật nói chung hay một cái gì đó mà họ cảm thấy là đơn giản và có liên quan thay vì chỉ nói những gì sai đang xảy ra. Nếu bạn nghĩ rằng đó là một vấn đề về kỹ thuật nói chung, thì hãy hỏi luôn điều đó, nhưng luôn luôn nói với mọi người những gì không hiệu quả đối với bạn.

 

Câu hỏi kém hiệu quả:

 

Người hỏi: làm thế nào để biên dịch một ứng dụng trên 10.4 hoạt động trên 10.3?

Người trả lời: hiết lập các SDK như vầy: …

Người hỏi: có cách nào khác không?

Người trả lời: Tôi không hiểu ý bạn là gì

Người hỏiy: là thế này, ứng dụng của tôi bị treo khi khởi động trên 10.3

Người trả lời: …

 

Câu hỏi hay:

 

Người hỏi: ứng dụng của tôi bị treo trên 10.3 nhưng hoạt động tốt trên 10.4, làm thế nào để tôi biết vấn đề nằm ở đâu? Có phải đây là một vấn đề về cách xây dựng các thiết lập của tôi?

Người trả lời: xây dựng thiết lập của bạn không thành vấn đề, có lẽ bạn đã liên kết chống lại cái gì đó không tồn tại trên 10.3. Nhìn vào bảng điều khiển xuất trình sau vụ treo xem nó là gì

 

Điều sai trái đang xảy ra ở đây là ” ứng dụng của tôi bị treo khi khởi động trên 10,3″, nhưng điều này không được đề cập đến khi thậm chí nhiều vòng trao đổi trong quá trình hỏi/đáp, và sau nhiều thời gian bị lãng phí của cả hai bên. Giải thích của Người trả lời về SDK là hoàn toàn vô nghĩa vì Người hỏi đã biết về nó. Người hỏi đã mất thời gian vì đưa Người trả lời vào một con đường không liên quan thay vì nêu vấn đề của mình ngay từ đầu.

 

Bằng cách nói chính xác những gì sai đang xảy ra ngay từ đầu, Người hỏi sẽ có một câu trả lời hữu ích từ Người trả lời ngay lập tức.

 

  1. Cung cấp tất cả mọi thứ ngay từ đầu

Làm cho mọi người tìm kiếm thông tin sẽ lãng phí thời gian của bạn. Cung cấp thông tin nền của câu hỏi ban đầu của bạn càng nhiều càng tốt.

 

Câu hỏi kém hiệu quả:

 

Người hỏi: làm thế nào để nối thêm vào một chuỗi?

Người trả lời: sử dụng stringByAppendingString:

Người hỏi: đúng là như vậy nhưng tôi không muốn tạo ra một đối tượng mới

Người trả lời: vậy hãy sử dụng NSMutableString và appendString:

Người hỏi: nhưng tôi đang sử dụng C, không phải ObjC

Người trả lời: argh, tại sao anh không nói sớm? sử dụng strcat

Người hỏi: nhưng nếu tôi có một CFString thì sao?

Người trả lời: Gah! sử dụng CFStringAppend

Người hỏi: nhưng nó không hoạt động, tôi cần phải gắn thêm một char *

Người trả lời: <Nhồi nó đi>

 

Câu hỏi hay:

 

Người hỏi: làm thế nào để tôi thêm một char * vào CFString? Những thứ tôi đang tìm kiếm chỉ làm việc với NSMutableString

Người trả lời: đó là sự lựa chọn duy nhất của bạn, bạn sẽ phải tạo một bản sao có thể thay đổi, sau đó sử dụng CFStringGetCString

 

Câu hỏi không cụ thể của bạn không giúp bạn tiết kiệm bất kỳ thời gian nào (dù gì đi nữa cuối cùng bạn vẫn sẽ phải nói lên tất cả) và làm giảm khả năng người khác trả lời cho bạn, cả bây giờ lẫn trong tương lai.

 

Bạn có thể sợ nói quá nhiều. Không được như vậy.Nó tốt hơn gấp nhiều lần khi hết sức cụ thể hơn là không cụ thể, vì nó dễ dàng hơn nhiều cho ai đó bỏ qua các chi tiết phụ hơn là họ phải yêu cầu bạn cho biết thêm thông tin bị thiếu. Khi nghi ngờ về việc gì đó, hãy nói, “Tôi không chắc chắn nếu nó có liên quan, nhưng tôi đang làm …”

 

  1. Hãy cho biết code của bạn

Điều này không áp dụng đối với các câu hỏi về khái niệm lớn, tất nhiên, nhưng đối với tất cả mọi thứ khác thì nó là điều cần thiết. Đừng bao giờ mô tả cách tiếp cận chung chung đến một vấn đề của bạn mà không gửi code đằng sau nó, bởi vì code là những gì tạo nên vấn đề, và nó  dịch tất cả mọi thứ thông qua tiếng Anh có xu hướng thay đổi đến khi không còn nhận ra nó nữa.

 

Câu hỏi kém hiệu quả:

 

Người hỏi: khi tôi tạo ra một NSString từ dữ liệu UTF-8 nó không thành công, tại sao vậy?

Người trả lời: Hãy cho tôi xem code của bạn

Người hỏi: Tôi không nghĩ rằng có vấn đề về code

Người trả lời: <nhối nó đi>

 

Câu hỏi kém hiệu quả #2:

 

Người hỏi: nếu tôi phân lớp NSMatrix thì sau đó không có gì xuất hiện trên màn hình, nhưng sử dụng một NSMatrix đơn thuần thì lại hoạt động, tại sao?

Người trả lời: làm thế quái nào mà tôi biết được?

 

Câu hỏi kém hiệu quả #3:

 

Người hỏi: khi tôi tạo ra một NSString từ dữ liệu UTF-8 nó không thành công, tại sao?

Người trả lời: Hãy gửi code của bạn cho tôi xem.

Người hỏi: Tôi không có code đi kèm, nhưng tôi đang làm một cái gì đó giống như thế này char * str = utf 8 …; [utf 8 str stringWithUTF8String]

Người trả lời: bạn không thể gửi tin nhắn đến một char *, và không có phương pháp sử dụng stringWithUTF8String mà không có tham số, hãy thử xem …

… ngày hôm sau …

Người hỏi: Tôi đã tìm ra vấn đề, thực ra tôi đã sử dụng stringWithCString:

Người trả lời: aarrgghh!

 

Câu hỏi hay:

 

Người hỏi: khi tôi tạo ra một NSString từ dữ liệu UTF-8 sử dụng char * str = utf 8 …; [NSString stringWithCString: utf 8 str] nó không thành công, tại sao?

Người trả lời: vì stringWithCString: không sử dụng dữ liệu UTF-8, hãy sử dụng stringWithUTF8String

 

Các yêu cầu về code tốn thời gian và công sức, và bạn có thể đẩy nhanh các câu trả lời bằng cách cung cấp chúng ngay từ đầu. Nếu bạn không biết liệu nó có liên quan hay không, dù sao đi nữa hãy cứ đăng chúng. Không bao giờ diễn giải hoặc gõ chúng ra từ trí nhớ của bạn. Ngay cả khi thực hiện chúng với ý định tốt nhất, bạn sẽ phạm phải các lỗi nhỏ hoặc trắng trợn trong mã của bạn, và những người mà bạn đang trao đổi sẽ giải quyết vấn đề hoàn toàn khác với những vấn đề bạn đang gặp phải.

 

(Trên IRC, đừng quên sử dụng khung dán. Dán code của bạn trực tiếp vào kênh được xem là thô lỗ nếu nó nhiều hơn một dòng hay tương tựnhư vậy.)

 

  1. Hãy nghiên cứu trước

Trong khi việc trao đổi một hai người bạn về vấn đề có thể là một ý tưởng hay trước khi bạn bắt tay giải quyết nó , hỏi người lạ là việc bạn nên làm cuối cùng. Làm nhiều điều nhất bạn có thể làm để nghiên cứu các vấn đề và giải quyết nó riêng bạn trước khi bạn hỏi. Điều này sẽ giúp bạn có được một câu trả lời bằng cách cho phép bạn đặt ra một câu hỏi với nhiều thông tin hơn. Bạn càng biết nhiều về chủ đề bạn hỏi, sẽ có nhiều cơ hội hơn để nhận được những yêu cầu bạn cần.

 

Câu hỏi kém hiệu quả:

 

Người hỏi: làm thế nào để tôi tạo ra một chủ đề?

Người trả lời: RTFM!

 

Câu hỏi hay:

 

Người hỏi: Tôi đã đọc các tài liệu NSThread nhưng làm thế nào có thể làm cho nó trở thành một phương thức với tham số int?

Người trả lời: hãy thực hiện một phương thức mới mà phải mất một NSNumber và chỉ cần gọi phương thức khác với intValue của phương thức vừa tạo trên

 

Trong phiên bản đầu tiên, anh chàng đặt câu hỏi đã không nhận được một câu trả lời hữu ích. Câu trả lời phiên bản thứ hai hữu ích hơn nhiều, bởi vì người hỏi đã đọc về chủ đề trước khi hỏi câu hỏi của anh ta.

 

Người hỏi cũng đã đi một nước cờ khá thông minh là nêu chi tiết những gì anh nghiên cứu. Bạn sẽ ít có khả năng nhận được câu trả lời vô dụng RTFM! nếu bạn nói với tất cả mọi người bạn đã đọc hướng dẫn sử dụng tốt nào.

 

  1. Thực hiên nghiên cứu của bạn trong thời gian bạn hỏi

Công việc của bạn không chỉ dừng lại khi bạn đặt câu hỏi đầu tiên. Khi được trình bày với một lời khuyên không quen thuộc, nghiên cứu nó trước khi bạn hỏi về nó. Thậm chí chỉ cần gắn thuật ngữ đó vào Google có thể giúp đỡ rất nhiều.

 

Câu hỏi kém hiệu quả:

 

Người hỏi: làm thế nào tôi có thể nhận được một danh sách thư mục?

Người trả lời: sử dụng NSFileManager

Người hỏi: NSFileManager là gì?

Người trả lời: RTFM!

 

Câu hỏi hay:

 

Người hỏi: làm thế nào tôi có thể nhận được một danh sách thư mục?

Người trả lời: sử dụng NSFileManager

… Người hỏi tra từ NSFileManager trên Google …

Người hỏi: ok, cám ơn nhé … có cách nào để làm cho nó chỉ cho tôi kết quả có tên bắt đầu bằng “tty” không?

Người trả lời: bạn có thể nhận được tất cả các kết quả, sau đó lọc chúng bằng cách sử NSPredicate như thế này…

 

Nghiên cứu câu hỏi tiếp theo của bạn cũng như câu hỏi ban đầu của bạn sẽ giúp bạn có câu trả lời hữu ích hơn.

 

  1. Nghiên cứu sau khi hỏi

Tôi cá là bạn đã thấy điều này. Sau khi bạn nhận được lời khuyên và bắt tay vào việc, bạn nên làm càng nhiều nghiên cứu càng tốt, trước khi quay trở lại và đặt câu hỏi về những lời khuyên.

 

Câu hỏi kém hiệu quả:

 

Người hỏi: làm thế nào tôi có thể nhận được một danh sách thư mục?

Người trả lời: sử dụng NSFileManager

… Người hỏi thực hiện … một lát sau:

Người hỏi: làm thế nào để tôi sử dụng NSFileManager?

Người trả lời: RTFM!

 

Câu hỏi hay:

 

Người hỏi: làm thế nào tôi có thể nhận được một danh sách thư mục?

Người trả lời: sử dụng NSFileManager!

… Người hỏi thực hiện … ngày hôm sau:

Người hỏi: khi tôi sử dụng NSFileManager vào việc liệt kê các nội dung của /, tôi nhận được ” Applications” thay vì tên dịch tôi nhìn thấy trong Finder, tại sao nó làm điều đó và làm cách nào nhân bản behavior của Finder?

Người trả lời: tên nội vùng không tồn tại trong filesystem, nhưng bạn có thể sử dụng …

 

Như đã nói trên, nghiên cứu của bạn làm cho câu trả lời tốt hơn.

 

  1. Không đăng nhiều lần cùng một câu hỏi

Điều này đặc biệt áp dụng cho các nhóm và danh sách gửi thư, nhưng nó áp dụng cho cả IRC. Trừ khi vấn đề của bạn rất phức tạp, nhiều người sẽ có thể giúp bạn. Rất có thể là một trong những người đã nhìn thấy câu hỏi của bạn lần đầu tiên. Nếu không ai trả lời, làm nhiều nghiên cứu hơn, cố gắng để tạo ra một trường hợp thử nghiệm nhỏ hoặc ít nhất là thu hẹp vấn đề xuống, và quay trở lại trong một hoặc hai ngày với nhiều thông tin hơn.

 

Câu hỏi kém hiệu quả:

 

Người hỏi: tùy chỉnh phân lớp con NSMatrix của không tôi hiển thị, giúp với?

… tiếng dế kêu … ngày hôm sau:

 Người hỏi: tùy chỉnh phân lớp con NSMatrix của tôi không hiển thị, giúp với?

… tiếng dế kêu … ngày hôm sau:

 Người hỏi: tùy chỉnh phân lớp con NSMatrix của tôi không hiển thị, giúp với?

 

Câu hỏi hay:

 

Người hỏi: tùy chỉnh phân lớp con NSMatrix của không tôi hiển thị, giúp với?

… tiếng dế kêu … ngày hôm sau:

Người hỏi: tùy chỉnh phân lớp con NSMatrix của không tôi hiển thị, tôi tạo ra một chương trình thử nghiệm đơn giản là việc trưng bày các behavior, bạn có thể tải nó tại http://blah, ai biết điều gì đang xảy ra không?

Người trả lời: bạn đừng làm quá tải các drawRect:

 

Nếu không ai có thể trả lời câu hỏi của bạn lần đầu tiên, họ có thể không muốn trả lời nó lần thứ hai nốt. Sử dụng thời gian bạn chờ câu trả lời để làm việc trên các vấn đề của chính mình. Thậm chí nếu bạn không có hy vọnggì trong việc giải quyết nó, bạn có thể tạo ra một cái gì đó và thu thập thông tin giúp những người khác có thể giải quyết nó.

 

  1. Theo dõi sau khi bạn nhận được câu trả lời

Bạn nên luôn luôn trả lời cho những người đưa ra lời khuyên, thậm chí nếu bạn hiểu nó và nó hoạt động hoàn hảo và bạn không cần thêm bất kỳ thông tin gì.

 

Câu hỏi kém hiệu quả:

 

Người hỏi: chương trình của tôi bị treo với một EXC_BAD_ACCESS khi tôi thực hiện [obj release], chuyện gì đang xảy ra vậy?

Người trả lời: có lẽ bạn đang quá tải việc giải phóng rồi, hãy thử sử dụng NSZombieEnabled

… sau đó …

Người hỏi: chương trình của tôi treo trong một số loại thông báo gọi lại, làm thế nào tôi có thể gỡ lỗi đó?

Người trả lời: chờ đã, bạn đã giải quyết lỗi treo [obj release] chưa?

… sau đó …

Người hỏi: chương trình của tôi có một lỗi nói rằng NSString không đáp ứng với setObject:forKey:, làm thế nào để gỡ lỗi đó?

Người trả lời: <screw this>

 

Câu hỏi tốt hơn:

 

Người hỏi: chương trình của tôi bị treo với một EXC_BAD_ACCESS khi tôi thực hiện [obj release], chuyện gì đang xảy ra vậy?

Người trả lời: có lẽ bạn đang quá tải việc giải phóng, hãy thử sử dụng NSZombieEnabled

Người hỏi: ok, cám ơn nhé

… sau đó …

Người hỏi: Tôi thấy vấn đề giải phóng quá tải của tôi rồi, nhưng bây giờ chương trình của tôi bị treo trong _CFXNotificationPost, làm thế nào để tôi có thể gỡ lỗi đó?

Người trả lời: hãy chắc chắn rằng bạn gỡ bỏ bản thân như một người quan sát từ NSNotificationCenter từ phương thức -dealloc của bạn

Người hỏi: oops, cảm ơn

… sau đó …

Người hỏi: ok, đã sữa được thông báo gây treo, nhưng bây giờ chương trình của tôi bị một lỗi nói rằng “- [NSCFString setObject: forKey:]: người chọn không được công nhận”, làm thế nào để gỡ lỗi đó?

Người trả lời: đó có thể là do một lỗi khác của việc giải phóng quá tải, hay chỉ là một sự nhầm lẫn của việc gõ phím nơi mà bạn đang xử lý một chuỗi lệnh như là một thư mục

Người hỏi: ok, tôi sẽ xem xét, cám ơn nhé

 

Trừ khi bạn đang trả tiền để được giúp đỡ (trong trường hợp này bạn có thể bỏ qua toàn bộ trang này, và những người bạn đang trả tiền sẽ chỉ tính nhiều chi phí hơn), những người đang trả lời câu hỏi của bạn đang làm việc miễn phí. Giống như một chú chó con dễ thương ngồi chờ lệnh, bạn cần thưởng cho nó khi nólàm những gì bạn muốn.

 

Cuộc đối thoại thứ hai được gắn nhãn là “tốt hơn” thay vì “tốt” vì nó có thể vi phạm quy tắc #2. Những câu trả lời cơ bản cho những câu hỏi dạng này nên tồn tại trong tài liệu khái niệm, mà sau đó có thể được sử dụng để đặt một câu hỏi tốt hơn và có được một câu trả lời tốt hơn. Nhưng tôi không thể nghĩ ra một ví dụ nào tốt hơn.

 

Để hỏi thêm những câu hỏi phức tạp, hãy tiếp nối với việc cuối cùng bạn đã giải quyết được nó và lời khuyên mà bạn sử dụng. Điều này không chỉ cung cấp một phần thưởng mạnh mẽ đối với những người cung cấp lời khuyên cho bạn, mà nó còn cho phép những người khác có thể  học hỏi từ bạn.

 

  1. Hãy đối xử với các đoạn đối thoại như với người

Tôi thấy nhiều cuộc trò chuyện có những điều rất khó giải thích, họ tin rằng các đoạn đối thoại hoặc trò chuyện là một cái máy trả lời câu hỏi, và chìa khóa để có được một câu trả tốt là dò xung quanh cho đến khi đạt được chính xác định dạng yêu cầu của câu hỏi được tìm thấy.

 

Câu hỏi kém hiệu quả:

 

Người hỏi: làm thế nào để tôi thêm vào một NSString?

Người trả lời: đọc các tài liệu NSString, tìm kiếm từ “thêm”

Người hỏi: Tôi mới sử dụng Cocoa và tôi muốn gắn thêm vào một NSString, làm thế nào để tôi làm điều đó?

Người trả lời: Này anh bạn? hãy đọc những gì tôi đã nói ở trên

Người hỏi: Tôi đang ở phiên bản 10.4.7 sử dụng Xcode 2.3, tôi không biết nhiều về Cocoa, làm cách nào để nối thêm một NSString?

Người trả lời: …

 

Câu hỏi hay:

 

Người hỏi: làm thế nào để tôi thêm vào một NSString?

Người trả lời: đọc các tài liệu NSString, tìm kiếm từ “thêm”

Người hỏi: ồ, xin lỗi, tôi quên đề cập đến việc thứ tôi muốn gắn thêm là một C string

Người trả lời: trong trường hợp đó, làm một NSString từ C string, sau đó nối thêm nó vào, hoặc sử dụng %s với stringByAppendingFormat:

 

Nó không phải là một trò chơi, bạn đang nói chuyện với những người thực sự sống. Hãy đối xử với họ cũng giống như bạn sẽ đối xử với những người mà bạn đang nói chuyện đối mặt, và bạn sẽ có được kết quả tốt hơn nhiều.

 

  1. Luôn luôn xem xét các câu trả lời

Đôi khi một kẻ đần độn sẽ trả lời cho bạn, và đôi khi bạn sẽ nhận được một chàng trai thông minh nhưng lại có một ngày tồi tệ hoặc những người không đọc chính xác câu hỏi của bạn. Tuy nhiên, hầu hết thời gian bạn sẽ được nói chuyện với những người hiểu rành về chủ đề này hơn bạn (đó là lý do tại sao bạn đã đến với họ để được giúp đỡ, nhớ chứ). Vì vậy, rất là đáng giá khi bạn ít nhất cho họ biết bạn đánh giá cao khả năng họ biết những gì họ đang nói tới.

 

Câu hỏi kém hiệu quả:

 

Người hỏi: làm thế nào tôi có thể memory-mapping một files bằng cách sử dụng Cocoa?

Người trả lời: NSData

Người hỏi: xin vui lòng đọc câu hỏi của tôi một lần nữa, tôi muốn memory-mapping một file

Người trả lời: …

 

Câu hỏi tốt hơn:

 

Người hỏi: làm thế nào tôi có thể memory-mapping một file bằng cách sử dụng Cocoa?

Người trả lời: NSData

Người hỏi: hả ? làm thế nào mà nó lại liên quan đến memory-mapping một file được?

Người trả lời: NSData có phần mềm khởi tạo cho phép bạn tạo ra một file bằng memory-mapping

 

Câu hỏi hay:

 

Người hỏi: làm thế nào tôi có thể memory-mapping một file bằng cách sử dụng Cocoa?

Người trả lời: NSData

Người hỏi: tôi hiểu rồi, cảm ơn!

 

Nếu câu trả lời của người khác thực sự chính xác, thì bạn sẽ có nhiều thời gian nếu bạn bắt đầu với giả định rằng nó đúng. Nếu bạn cho rằng nó sai, bạn hoặc là sẽ phải đợi cho đến khi người kia sửa cho bạn, hoặc nếu bạn không may mắn, người đó sẽ không bận tâm và bạn sẽ không có câu trả lời. Thậm chí nếu câu trả lời là sai, bạn có nhiều khả năng để có được một câu trả lời chính xác nếu bạn nhẹ nhàng chỉ ra những điều sai.

 

Các giải pháp của bạn bị từ chối bởi người đặt câu hỏi là rất bực bội. Một người bực bội ít có khả năng để trả lời câu hỏi của bạn. Hãy đối xử tốt với họ, và họ sẽ tốt với bạn.

 

Lưu ý cho dành cho Mailing list: không giống như phương tiện truyền thông trôi nổi như IRC, Mailing list thường được lưu trữ và có thể tìm kiếm dễ dàng. Khi bạn tìm thấy một giải pháp, hãy đăng nó lên! Bằng cách đó, khi bạn quên về cách bạn đã làm như thế nào vài tháng sau và bạn có thể tìm kiếm danh sách các câu trả lời, bạn có thể thấy cách trước đây bạn đã giải quyết vấn đề này.

 

Bạn có câu hỏi, ý kiến, thông tin phản hồi nào khác? Hãy email cho tác giả Mike Ash

Lưu trữ tại DigitalOcean

Advertisements