Hướng dẫn do tabs matter in python? - các tab có quan trọng trong python không?

Này các cậu,

Tôi đã làm theo một hướng dẫn về Python nơi họ bảo chúng tôi sử dụng các tab nhưng sau đó họ đã gửi chúng tôi đến Hướng dẫn kiểu PEP8 nơi nó tuyên bố:

"Không gian là phương pháp thụt đầu tiên ưa thích."

Bây giờ, sau khi tôi đào xung quanh một chút, tôi thấy rằng bạn nên sử dụng 4 khoảng trống để thụt mã, quá ...

Tại sao không sử dụng tab thay vì nhấn thanh không gian 4 lần?

Tôi đoán đây là một chủ đề nóng, nhưng tôi chỉ muốn chắc chắn rằng nó ổn khi đi với các tab trên không gian [vì đó là cùng một chiều dài!]. .

Vấn đề này chia tách thế giới lập trình như không có chủ đề nào khác. Đó là một phân chia ngôn ngữ chéo, chéo, đặt các lập trình viên chống lại những người man rợ, những người chỉ đơn giản là định dạng mã của họ theo cách sai. Đối với các bên nên là không gian hoặc tab?


Đây thực sự là một câu hỏi quan trọng, trừ khi bạn là một người mới thực sự hoặc một người man rợ thực sự, người không bận tâm đến việc thụt mã. Tệ hơn nữa có lẽ bạn trộn các tab và không gian mà không nhận thấy. Đối với các lập trình viên Python, nó thậm chí không phải là tùy chọn vì cấu trúc thụt lề là một phần của ngôn ngữ nhưng ngay cả ở đây bạn có thể chọn sử dụng các tab hoặc không gian để đạt được thụt lề. Vừa phải sắp xếp một tệp python với khoảng cách không nhất quán và các tab tôi với một điều ước rằng nó đã được tiêu chuẩn hóa. & Nbsp;

Các đối số chính là bạn nên sử dụng các tab vì chúng thay thế N khoảng trống bằng một mã điều khiển duy nhất và khoảng cách thực tế được tạo ra có thể được thay đổi mà không phải chỉnh sửa tệp. Tuy nhiên, việc có các mã điều khiển trông giống như không gian trắng trong chương trình có thể gây ra vấn đề khi mã được chuyển từ trình chỉnh sửa này sang trình soạn thảo khác hoặc khi nó được sử dụng trong trình phân tích mã hoặc được dán vào trình xử lý WordProcessor. Do đó, nhiều lập trình viên thích thụt vào không gian vì sự đơn giản. Nhược điểm thực sự duy nhất của việc sử dụng không gian là bạn không thể dễ dàng thay đổi thụt lề và nếu bạn thực hiện mã dán vào bộ xử lý WordProcessor bằng cách sử dụng phông chữ có chiều rộng biến bất kỳ khoảng cách nhúng nào đều bị hủy hoại. & NBSP;

Đối số tab V Space v này đã thúc đẩy Googler & nbsp; Felipe Hoffa đến cực kỳ dài để tìm ra sự thật. Ông đã viết một chương trình kiểm tra 400.000 kho lưu trữ github chứa 1 tỷ tệp và 14 terabyte mã để trả lời một câu hỏi - tab hoặc không gian. & NBSP;

Kết quả là đáng ngạc nhiên. Không có nghi ngờ rằng các không gian đánh bại các tab bằng một biên độ lớn. Điều thực sự thú vị là sự cố theo ngôn ngữ:

& nbsp; hầu hết các ngôn ngữ dường như có các lập trình viên thực sự không biết khóa tab ở đâu. Nhưng những gì là với các lập trình viên C và GO? Bất cứ điều gì thúc đẩy lập trình viên C sử dụng các tab nhiều hơn không gian, dường như nó không ảnh hưởng đến các lập trình viên C ++ dường như đã mất phím tab gần như nhiều như Python và Ruby Guys.

Đợi một chút ... các lập trình viên Python không sử dụng tab ?! Điều đó dường như gần như chống pythonic, nhưng đó là sự thật, PEP 8 - Hướng dẫn phong cách cho mã Python - nói khá rõ ràng:

Không gian là phương pháp thụt đầu tiên ưa thích.

Các tab chỉ nên được sử dụng để duy trì sự phù hợp với mã đã được thụt vào với các tab.

Python 3 không phù hợp với việc sử dụng các tab và không gian để thụt vào.

Mã Python 2 thụt lề với hỗn hợp các tab và không gian nên được chuyển đổi thành chỉ sử dụng khoảng trống.

Khi gọi trình thông dịch dòng lệnh Python 2 với tùy chọn & nbsp; Khi sử dụng & nbsp; -tt & nbsp; những cảnh báo này trở thành lỗi. Những tùy chọn này rất được khuyến khích!

Điều đó giải thích điều đó và để lại các lập trình viên C là bí ẩn duy nhất.

Vậy tại sao nhiều C, nhưng không phải là lập trình viên C ++, sử dụng các tab?

 

Thêm thông tin

400.000 kho github, 1 tỷ tệp, 14 terabyte mã: không gian hay tab?

Những bài viết liên quan

Dây lên lập trình để tránh lỗi

Bạn không cần phải chạm vào loại để đi nhanh

Đánh máy yếu - nghệ thuật bị mất của bàn phím & nbsp;

Để được thông báo về các bài viết mới về I & nbsp; lập trình viên, & nbsp; đăng ký nhận bản tin & nbsp của chúng tôi; ; hoặc & nbsp; LinkedIn. & nbsp;

Bình luận

hoặc gửi email nhận xét của bạn tới:

Ngày 27 tháng 7 năm 2018 - Ghi chú

Tại sao các lập trình viên sử dụng không gian thay vì tab kiếm được nhiều tiền hơn

Nếu bạn là thành viên của cộng đồng lập trình, bạn sẽ biết rất rõ về cuộc tranh luận lâu đời về không gian so với các tab. Có một số lập trình viên ngoài kia sử dụng thụt vào mã của họ thay vì các tab. Chủ đề được tranh luận cao này đã phân chia các lập trình viên trong nhiều năm, nhưng dữ liệu gần đây cho thấy rằng mọi người về phía sử dụng không gian có thể đúng.divided programmers for years, but recent data shows that people on the side of using spaces may be right.

Gần đây, nhóm tại Google đã phân tích một tỷ tệp để tìm ra kỹ thuật nào tốt hơn. Nghiên cứu của họ cho thấy không gian tốt hơn nhiều vì một số lý do khác nhau. Kỹ thuật này không chỉ hấp dẫn hơn, nó cho phép các lập trình viên kiếm được nhiều tiền hơn.spaces were far better for a number of different reasons. Not only is this technique more visually appealing, it allows programmers to make more money.

Phân tích được thực hiện bởi nhóm & NBSP; tại Stack Overflow cho thấy các lập trình viên sử dụng không gian thay vì các tab đang kiếm được nhiều tiền hơn. David Robinson, nhà khoa học dữ liệu đã thực hiện nghiên cứu này cho thấy các lập trình viên sử dụng không gian trên các tab kiếm được trung bình hơn 9 % mỗi năm so với tab của họ bằng cách sử dụng các đối tác.

Đọc bên dưới để tìm hiểu thêm về việc sử dụng thụt lề thích hợp trong mã hóa và làm thế nào nó có thể mang lại lợi ích cho bạn như một lập trình viên.proper indentation in coding and how it can benefit you as a programmer.

Nhu cầu thụt

Một trong những lý do lớn nhất tại sao hầu hết các lập trình viên sử dụng một kiểu thụt là cung cấp cho chương trình của họ cấu trúc. Nói chung, phong cách thụt này được sử dụng trong lập trình C và nhiều hậu duệ của nó. Tuy nhiên, nó có thể được áp dụng cho các ngôn ngữ lập trình khác trong đó việc sử dụng khoảng trắng được đưa ra không đáng kể.this indentation style is used in C programming and its many descendants. However, it can be applied to other programming languages where the use of whitespace is rendered insignificant.

Mặc dù không cần thụt vào các ngôn ngữ lập trình, nhưng nó được sử dụng rộng rãi bởi một số lập trình viên giỏi nhất trên hành tinh. Nói chung, thụt lề cung cấp một sự làm rõ khi nói đến việc kiểm soát các cấu trúc dòng chảy. Khi sử dụng những thứ như vòng lặp hoặc điều kiện, bạn cần hiển thị rõ ràng mã chứa bên ngoài các cấu trúc này.

Sử dụng thụt lề trong Python cho phép bạn tránh sử dụng niềng răng hoặc từ khóa để đặt các bộ mã. Hầu hết mọi người mới đến thế giới mã hóa không nhận ra rằng thụt lề là nhiều hơn cho người phiên dịch và ít hơn về cấu trúc của chính chương trình. allows you to avoid using braces or keywords to set sets of code apart. Most people new to the world of coding fail to realize that indentation is more for the interpreter and less about the structure of the program itself.

Tín dụng: Zombiemann, Devrant

Khi được thực hiện đúng cách, thụt lề sẽ cung cấp cho người đọc mã một mức độ thoải mái và hiểu biết. Nếu một mã bị phá vỡ đúng cách, nó sẽ dễ hiểu hơn nhiều. Bằng cách viết mã dễ xem xét, một lập trình viên có thể tạo ấn tượng với các nhà tuyển dụng tiềm năng và tăng tiềm năng kiếm tiền của họ cùng một lúc.much easier to comprehend. By writing code that is easy to review, a programmer can make an impression on prospective employers and increase their earning potential at the same time.

Chủ đề này đã được đề cập sâu bởi Google Fel Felipe Hoffa trên Medium. Felipe đã phân tích 400.000 kho github, 1 tỷ tệp và 14 terabyte mã để xác định lý do tại sao không gian có thể thực sự tốt hơn các tab.

Các thực tiễn tốt nhất khác để làm theo khi viết mã

Mặc dù thụt lề là tối quan trọng khi cố gắng viết mã có thể đọc và hấp dẫn, có một số thực tiễn tốt nhất khác mà bạn nên làm theo. Dưới đây chỉ là một số thực hành bạn cần để quen với việc sử dụng.

Tài liệu và bình luận

Với những tiến bộ công nghệ trong thế giới của môi trường phát triển tích hợp, nhận xét về mã này hữu ích hơn bao giờ hết. Bằng cách tuân theo các tiêu chuẩn ngành khi phát triển các bình luận này, bạn sẽ cho phép các công cụ khác sử dụng chúng theo nhiều cách khác nhau.

Đọc thêm: & NBSP; 10 Lời khuyên cần thiết để kiểm tra một cơ quan phát triển phần mềm10 Essential Tips for Vetting a Software Development Agency

Tập trung vào kiến ​​trúc đầu tiên

Mặc dù thời hạn gặp gỡ là một trong những điều bạn sẽ phải tập trung vào để trở thành một lập trình viên tuyệt vời, bạn cần tránh bỏ qua các bước quan trọng. Điều đầu tiên bạn cần làm trước khi viết bất kỳ mã nào là suy nghĩ về kiến ​​trúc của chương trình bạn đang làm. Không làm điều này có thể dẫn đến những vấn đề lớn trong thời gian dài.

Biết mã của bạn sẽ được sử dụng cho những gì và nó sẽ hoạt động như thế nào là rất quan trọng. Với thông tin này, bạn có thể viết mã vừa hiệu quả và không có lỗi.

Giữ nó đơn giản

Viết mã quá phức tạp có thể gây ra các vấn đề lớn khi nói đến chức năng của một chương trình. Bằng cách tập trung vào việc viết mã đơn giản, bạn có thể làm cho việc tránh lỗi dễ dàng hơn nhiều. Mã của bạn sẽ đi đúng vào điểm thay vì sử dụng một tấn trừu tượng. Có thói quen viết mã đơn giản có thể mang lại lợi ích cho bạn rất nhiều khi bạn cố gắng vươn lên dẫn đầu ngành công nghiệp của mình.overly-complex can cause major problems when it comes to the functionality of a program. By focusing on writing simple code, you can make it much easier to avoid bugs. Your code should get right to the point rather than using a ton of abstractions. Getting in the habit of writing simple code can benefit you greatly as you try to rise to the top of your industry.

Đánh giá mã có thể là một ý tưởng tồi

Mặc dù có những tình huống mà các đánh giá mã có thể có lợi, nhưng có những lúc nó có thể là một cơn đau đầu. Cách duy nhất để sử dụng đúng công cụ này là làm việc với nhà phát triển hiểu mã của bạn và có thể giám sát các bản cập nhật cần thiết. Mục tiêu chính của đánh giá mã là duy trì chất lượng của chương trình đang được thực hiện, không phải để dạy các nhà phát triển mới. Khi điều này được sử dụng như một công cụ học tập, nó thường sẽ phản tác dụng trong thời trang ngoạn mục.not to teach new developers. When this is used as a learning tool, it will typically backfire in spectacular fashion.

Mã hóa sai lầm để tránh bằng mọi giá

Các lỗi được thực hiện trong quá trình mã hóa có thể dẫn đến một chương trình ứng dụng hoặc phần mềm không ổn định. Công việc của bạn là một lập trình viên để tìm hiểu thêm về các lỗi mã hóa thông thường để bạn có thể tránh chúng. Nếu bạn quan tâm đến việc tìm hiểu về các lỗi hiệu suất Java thông thường, hãy chắc chắn & nbsp; đọc thêm ở đây. Dưới đây chỉ là một số lỗi bạn cần để tránh xa trong quá trình mã hóa ứng dụng.

Việc tái sử dụng bẫy mã cũ

Một trong những sai lầm lớn nhất bạn cần tránh khi phát triển một chương trình mới là tái sử dụng mã cũ. Mặc dù khách hàng của bạn có thể yêu cầu điều này để tiết kiệm thời gian và tiền bạc, bạn cần phải làm tất cả những gì có thể để nói chuyện với họ. Trừ khi mã trong câu hỏi được thiết kế cụ thể để được sử dụng lại, bạn sẽ kết thúc việc viết lại nó về cơ bản. Đây là lý do tại sao bắt đầu với một lô mã hóa mới là điều bắt buộc khi cố gắng để có được thành công.you will end up basically rewriting it anyway. This is why starting with a fresh batch of coding is a must when trying to have success.

Không kiểm tra ở giai đoạn phát triển bao giờ

Là một lập trình viên, mục tiêu chính của bạn nên cung cấp cho khách hàng của bạn mã không có lỗi mà họ cần. Cách duy nhất để đảm bảo mã bạn đã viết là chính xác là bằng cách kiểm tra nó ở mọi giai đoạn phát triển. Việc trở nên quá vội vàng sẽ dẫn đến những sai lầm lớn và có thể gây ra sự cố ứng dụng trong tương lai.

Mặc dù sử dụng sức mạnh của không gian và thụt lề trong mã của bạn sẽ thực hiện một số thực hành, nhưng nó sẽ đáng để nỗ lực. Tìm một lập trình viên giàu kinh nghiệm hơn để cố vấn cho bạn về thực tiễn này là một ý tưởng tuyệt vời sẽ giúp bạn tiến bộ với tốc độ nhanh chóng.

Tabbing có quan trọng trong Python không?

Các tab chỉ nên được sử dụng để duy trì sự phù hợp với mã đã được thụt vào với các tab. Python 3 không phù hợp với việc sử dụng các tab và không gian để thụt vào. Mã Python 2 thụt lề với hỗn hợp các tab và không gian nên được chuyển đổi thành chỉ sử dụng khoảng trống.. Python 3 disallows mixing the use of tabs and spaces for indentation. Python 2 code indented with a mixture of tabs and spaces should be converted to using spaces exclusively.

Các vết lõm có quan trọng trong Python không?

Thẩm lớp đề cập đến các không gian ở đầu một dòng mã.Trong trường hợp trong các ngôn ngữ lập trình khác, sự thụt lề trong mã chỉ dành cho khả năng đọc, việc thụt vào python là rất quan trọng.Python sử dụng thụt lề để chỉ ra một khối mã.the indentation in Python is very important. Python uses indentation to indicate a block of code.

Mục đích của tab trong Python là gì?

Tab Python cung cấp tự động hoàn thành để bạn có thể nhanh chóng hoàn thành mã thông báo câu lệnh.Nếu bạn viết mã thông báo một phần nhưng không chắc chắn cách hoàn thành hoặc muốn điền vào mã thông báo tự động, hãy nhấn Tab trong khi con trỏ vẫn nằm trong khung đầu vào.provides auto-completion so that you can quickly finish statement tokens. If you write a partial token but are unsure how to complete it or want to fill in the token automatically, press Tab while the cursor is still in the input pane.

Tôi có nên sử dụng các tab trong mã không?

Sự kết luận.Vì vậy, vào cuối ngày, các tab so với không gian thực sự là vấn đề ưu tiên, tuy nhiên tab vẫn là ký tự được thiết kế đặc biệt để thụt vào và sử dụng một ký tự tab trên mỗi cấp độ thụt thay vì 2 hoặc 4 khoảng trống sẽ sử dụng ít không gian đĩa ít hơn/ bộ nhớ / tài nguyên trình biên dịch và tương tự.tabs versus spaces is truly a matter of preference, however the tab is still the character specifically designed for indentation, and using one tab character per indentation level instead of 2 or 4 spaces will use less disk space / memory / compiler resources and the like.

Bài Viết Liên Quan

Chủ Đề