Làm thế nào là thời gian làm việc của bạn được phân phối giữa mã hóa và suy nghĩ? [đóng cửa]


8

... Theo tỷ lệ phần trăm. Ví dụ 60/40 hoặc 90/10 hoặc 100/0.

Giả thuyết của tôi là tỷ lệ thời gian bạn dành để suy nghĩ mã càng nhỏ có thể là kết quả (và sẽ cần ít thời gian hơn để viết nó xuống). Nghĩ nhiều hơn, viết ít hơn, nói cách khác. Bạn có nghĩ đó là sự thật?

Như một lưu ý phụ, tôi nghĩ rằng trong các công ty phần mềm điển hình, suy nghĩ không phải là một phần của văn hóa: bạn thường được cho là ngồi đó trước máy tính của mình một cái gì đó. Bạn gần như chắc chắn sẽ được các nhà quản lý chú ý nếu bạn đi lang thang với một cái nhìn trống rỗng suy nghĩ về các bước tiếp theo với mã của bạn. Quá tệ.


1
Có thể tương tự: lập trình
Chris

1
@Chris: không chính xác, câu hỏi đó là về mã hóa so với "Đọc xung quanh chủ đề, nâng cao kiến ​​thức, học hỏi những điều mới", điều này không chính xác là suy nghĩ về hành động của bạn. Mặc dù có, suy nghĩ được đề cập trong một số câu trả lời.
mojuba

Đây chỉ là một câu hỏi chính xác hơn câu hỏi đó. Bạn đang yêu cầu mã hóa: thời gian suy nghĩ, câu hỏi đó là mã hóa: <bất cứ điều gì ngoại trừ mã hóa>. Tương tự đủ với tôi.
Chris

2
@Chris: hoàn toàn không. Sự khác biệt lớn giữa suy nghĩ về các bước tiếp theo của bạn so với bất kỳ hoạt động nào khác ngoài mã hóa. Điều tôi đang cố gắng nói ở đây là bạn có thể cải thiện mã của mình bằng cách suy nghĩ nhiều hơn trước khi bắt đầu viết mã.
mojuba

4
Tôi cũng có thể khuyên bạn nên suy nghĩ trong khi bạn viết mã.

Câu trả lời:


9

Tôi mã trong giải pháp cuối cùng.

Nói 50% suy nghĩ, 50% mã hóa bao gồm 10% thực hiện và 40% gỡ lỗi.


Tuyệt vời, tôi nghĩ 50/50 chỉ là tỷ lệ phù hợp mặc dù nó có vẻ vô lý với nhiều người.
mojuba

2
Vâng, nó phản tác dụng trực quan với quan điểm sản xuất của nhà máy. Bạn phải hiểu rằng lập trình là tất cả giải quyết vấn đề, không phải mã "sản xuất", trước khi đồng ý rằng bạn nên suy nghĩ nhiều trước khi hành động.
Klaim

chắc chắn gỡ lỗi có thể bao gồm cả suy nghĩ
jk.

Chắc chắn đúng. Nhưng trên thực tế, đó vẫn chỉ là quá trình giải quyết vấn đề, trong khi mã hóa và gỡ lỗi trong khi mã hóa là máy móc hơn, mức độ thấp hơn. Bạn có thể nghĩ về việc suy nghĩ như tạo ra một chiến lược, trong khi mã hóa đang áp dụng nó, sử dụng các chiến thuật để điều chỉnh chiến lược của bạn với bối cảnh.
Klaim

Trước khi sản xuất xảy ra, ai đó đã phải dành rất nhiều thời gian để suy nghĩ và mày mò để hoàn thiện sản phẩm đó ... vì vậy cũng có rất nhiều suy nghĩ trong sản xuất ... nó chỉ xảy ra ở phía trước ... và thường bởi một người khác .
CaffGeek

10

Như với bất cứ điều gì khác, nó phụ thuộc

Khi bắt đầu một cái gì đó, phần lớn thời gian được dành để suy nghĩ và lập kế hoạch làm thế nào để mã hóa nó. Một khi bạn có kế hoạch tại chỗ, phần lớn thời gian được dành cho mã hóa.


+1, không có ý nghĩa để khái quát hóa. Tỷ lệ sẽ rất khác nhau khi thực hiện B + Tree so với viết các thao tác CRUD.
dan_waterworth

5

Suy nghĩ 60% / Mã hóa 40%

Tôi không chỉ suy nghĩ trong công việc. Tôi đang suy nghĩ ở mọi nơi tôi đến. Tôi có xu hướng không bắt đầu viết mã cho đến khi tôi đã suy nghĩ về tất cả các khả năng. Tôi không nói về việc viết mã trong đầu, tôi đang nói về việc thực hiện tinh chỉnh từng bước trong đầu.


3

Một số ngày tôi viết một dòng mã, nhưng vẫn hoàn thành được nhiều công việc hơn (trong khi ứng dụng hoạt động) so với ngày hôm sau tôi viết một nghìn. Người quản lý của tôi sẽ gọi ngày đầu tiên lãng phí, anh ta nhìn vào các LỘC được sản xuất mỗi ngày để đánh giá năng suất (hoặc họ đã từng sử dụng, ít hơn những ngày này).

Tôi có suy nghĩ ít hơn ngày thứ hai? Có thể, tùy thuộc vào loại mã hóa trong tay (nếu việc truy vấn cơ sở dữ liệu mà tôi đã thực hiện hàng ngàn lần thì đó không phải là một thách thức lớn về mặt tinh thần).


2

Mã ngắn hơn thường tốt hơn nhưng không phải lúc nào cũng vậy.

Tại sao trừng phạt một nhà phát triển đã tăng lưu loát thông qua kinh nghiệm và biết chính xác những gì họ đang làm? Mỗi dòng mã không phải là mã đầu tiên của bạn.

Đừng cho rằng vì tôi đang gõ mà tôi không nghĩ. Gõ không mất nhiều nỗ lực tinh thần.

Lập kế hoạch là rất quan trọng, nhưng đừng nhầm lẫn với suy nghĩ về mã của bạn.


Đó là một điểm tốt, tôi thực sự có ý nghĩ về mã của bạn hơn là lập kế hoạch / thiết kế toàn bộ sản phẩm.
mojuba

2

Trái ngược với hầu hết "% chi tiêu suy nghĩ"> "% dành cho câu trả lời mã hóa" ở trên, tôi (hơi ngạc nhiên) thấy rằng năng suất hiện tại của tôi có tương quan với tổ hợp phím của tôi. "Hiện tại" là chìa khóa: Tôi đang học một ngôn ngữ / hệ thống mới và tôi chỉ đơn giản học được nhiều hơn khi tôi bị bẩn tay và xây dựng công cụ và phá vỡ mọi thứ và tìm ra cách khắc phục nó hơn là nếu tôi ngồi lại và cố gắng suy nghĩ thông qua tất cả, điều thường biến thành sự nghiền ngẫm không hiệu quả về việc điều ngu ngốc này quá phức tạp.

(Tôi thường không buồn trả lời một câu hỏi với câu trả lời đã được chấp nhận, nhưng điều này khiến tôi suy nghĩ & tôi không thể giúp cân nhắc.)


1

Khi tôi lên kế hoạch cho một vấn đề chi tiết trước khi bắt đầu viết mã, tôi thấy rằng tôi thực hiện ít sửa đổi hơn. Tôi nghĩ rằng cần rất nhiều kỷ luật để không đi thẳng vào mã, nhưng là đáng giá. Thật không may, như bạn đã lưu ý, hầu hết các lập trình viên không hiểu rằng thời gian rời khỏi máy tính để lập kế hoạch và nghĩ trước tiên có thể thực sự tăng tốc và cải thiện một nhiệm vụ.


Tại một công ty tôi làm việc cho chúng tôi có rất nhiều phòng họp nhỏ và tôi có thể ở đó một mình trong một thời gian, với điều kiện bạn đang cầm bút và một quyển sổ ghi chú và có một cái nhìn chu đáo;)
mojuba

1

Tôi khá chắc chắn rằng tôi hiểu sự khác biệt của bạn giữa suy nghĩ và mã hóa. Nhưng, tại sao lại ngừng suy nghĩ khi bạn bắt đầu viết mã? Hy vọng, việc gõ không mất quá nhiều công sức mà bạn không thể nghĩ cùng một lúc.

Tôi thấy rằng nó hoạt động tốt để suy nghĩ một lúc về hướng tôi nên đi, sau đó bắt đầu viết mã trong khi tôi nghĩ về nhiều chi tiết ít quan trọng hơn.


1

Làm thế nào là thời gian làm việc của bạn được phân phối giữa mã hóa và suy nghĩ?

Nó phụ thuộc. Vào thời điểm này trong năm, tôi chủ yếu thực hiện sửa lỗi, vì vậy suy nghĩ là phần lớn nỗ lực làm việc của tôi.

Như một lưu ý phụ, tôi nghĩ rằng trong các công ty phần mềm điển hình, suy nghĩ không phải là một phần của văn hóa: bạn thường được cho là ngồi đó trước máy tính của mình gõ một cái gì đó. Bạn gần như chắc chắn sẽ được các nhà quản lý chú ý nếu bạn đi lang thang với một cái nhìn trống rỗng suy nghĩ về các bước tiếp theo với mã của bạn.

Bạn sẽ thấy rằng thái độ này không giới hạn ở các công ty phần mềm. Đó là một hiện tượng phổ biến trong văn hóa doanh nghiệp Mỹ. Kinh nghiệm của tôi là các nhà quản lý đã dành thời gian đáng kể trong quân đội (hoặc khi còn trẻ hơn trong trường học theo kiểu quân đội) có thói quen luôn làm việc . Nếu Seargant của bạn bắt bạn không làm việc (và vì người xem bên ngoài không thể nhìn thấy, hãy suy nghĩ == tắt đi), anh ta sẽ ra lệnh cho bạn chà rửa vỉa hè bằng bàn chải đánh răng (hoặc công việc ngu ngốc khác) chỉ để giữ bạn từ đi tắt. Người quản lý tồi tệ nhất mọi thời đại mà tôi làm việc sẽ cố tình tạo ra một cuộc khủng hoảng để tạo ra công việc cho bạn nếu anh ta bắt bạn không làm gì - và vì anh ta cũng là chủ sở hữu, anh ta không tin rằng bạn cần phải suy nghĩ về bất cứ điều gì, chỉ là hoàn thành nó đi.


1

Làm thế nào là thời gian làm việc của bạn được phân phối giữa mã hóa và suy nghĩ?

HỌ GIỐNG NHAU

GIAO DỊCH KẾT THÚC


2
Ai đó đã đánh giá thấp bạn có lẽ vì một phong cách không được hoan nghênh ở đây, nhưng tôi đã nhận được tin nhắn của bạn OK;)
mojuba

1

Suy nghĩ với tôi là một cách trừu tượng hóa mã hóa. Bạn nghĩ về những khả năng và kết quả rất có thể của họ. Tôi nghĩ rất nhiều. Đôi khi tôi nằm gục đầu trên bàn và nhắm mắt lại. Suy nghĩ là cấp độ nhỏ nhất của thiết kế. Tôi luôn điều chỉnh độ dài suy nghĩ của mình dựa trên hiệu ứng khu vực của mã tôi sắp viết.

"Tôi đặt nút này ở đâu?" hầu như không có thời gian suy nghĩ, "tôi đặt trường cơ sở dữ liệu này ở đâu?" miễn là nó cần.

Suy nghĩ trên giấy cũng có ích, và nó trông giống như làm việc nhiều hơn và ít giống như mơ trong ngày.


0

nó có thể thay đổi rất nhiều Rất nhiều mã của tôi là kết quả của một loạt các công cụ mà tôi đã viết. Vì vậy, có những ngày tôi "viết" một số lượng lớn mã, hầu như không có mã nào bằng tay. Và có những ngày tôi nghĩ rằng tôi dành nhiều thời gian với một cây bút chì hơn là với bàn phím của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.