Hướng dẫn Python GitHub

Tại đây, bạn có thể tìm thấy bộ sưu tập hướng dẫn mã hóa, khoa học dữ liệu và thống kê của chúng tôi với các ví dụ về R, Python, JavaScript và Python. Khi bạn nhấp qua, bạn sẽ nhận thấy rằng một số hướng dẫn có dải băng trên logo của chúng - chúng là một phần của khóa học trực tuyến miễn phí và tự học của chúng tôi Khoa học dữ liệu dành cho các nhà sinh thái học và nhà khoa học môi trường. Màu vàng cho luồng Stats from Scratch, màu xanh lam cho Wiz of Data Viz và màu tím cho Mastering Modeling. Tìm hiểu thêm về khóa học và cách đăng ký tại đây

Chúng tôi thường xuyên đăng các hướng dẫn mà bạn có thể hoàn thành trực tiếp tại một trong các hội thảo của chúng tôi ở Edinburgh hoặc trực tuyến trong thời gian của riêng bạn. Nếu bạn muốn viết một bài hướng dẫn và xuất bản nó trên trang web của Câu lạc bộ viết mã, hãy xem trang này để biết thêm thông tin

Một dự án nguồn mở lành mạnh cần một nơi để xuất bản mã của nó và công cụ quản lý dự án để các nhà phát triển khác có thể cộng tác với bạn. Điều này cho phép người dùng của bạn hiểu rõ hơn về mã của bạn, cập nhật những phát triển mới, báo cáo lỗi và đóng góp mã

Trang web phát triển này phải bao gồm chính lịch sử mã nguồn, trình theo dõi lỗi, hàng đợi gửi bản vá [còn gọi là “Yêu cầu kéo”] và có thể là tài liệu hướng đến nhà phát triển bổ sung

Có một số trang web lưu trữ dự án mã nguồn mở miễn phí [hay còn gọi là “lò rèn”]. Chúng bao gồm GitHub, SourceForge, Bitbucket và GitLab. GitHub hiện là tốt nhất. Sử dụng GitHub

Tạo Repo dự án trên GitHub

Để xuất bản dự án Python của bạn trên GitHub

  1. Tạo tài khoản GitHub nếu bạn chưa có
  2. Tạo một repo mới cho dự án của bạn
    1. Nhấp vào menu “+” bên cạnh hình đại diện của bạn ở phía trên bên phải của trang và chọn “Kho lưu trữ mới”
    2. Đặt tên cho nó theo dự án của bạn và cung cấp cho nó một mô tả thân thiện với SEO
    3. Nếu bạn không có repo dự án hiện có, hãy chọn cài đặt để thêm README,. gitignore và giấy phép. Sử dụng Python. tùy chọn gitignore
  3. Trên trang repo mới tạo, nhấp vào “Quản lý chủ đề” và thêm các thẻ “python” và “python3” và/hoặc “python2” nếu thích hợp
  4. Bao gồm một liên kết đến repo GitHub mới của bạn trong tệp README của dự án để những người vừa có bản phân phối dự án biết tìm nó ở đâu

Nếu đây là một repo hoàn toàn mới, hãy sao chép nó vào máy cục bộ của bạn và bắt đầu làm việc

$ git clone //github.com//

Hoặc, nếu bạn đã có repo Git của dự án, hãy thêm repo GitHub mới của bạn làm điều khiển từ xa

$ cd 
$ git remote add origin //github.com//
$ git push --tags

Khi dự án của bạn phát triển

Để biết thêm thông tin về cách quản lý dự án phần mềm nguồn mở, hãy xem cuốn sách Sản xuất phần mềm nguồn mở

GitHub Copilot là một công nghệ mới thú vị hứa hẹn cung cấp cho trình soạn thảo mã của bạn một trợ lý ảo được hỗ trợ bởi trí tuệ nhân tạo và nó đã gây ra tranh cãi đáng kể khi được phát hành ra công chúng. Python là một trong những ngôn ngữ được công cụ này hỗ trợ đặc biệt tốt. Sau khi đọc hướng dẫn này, bạn sẽ biết liệu GitHub Copilot là rủi ro, mánh lới quảng cáo hay công cụ thay đổi cuộc chơi thực sự trong công nghệ phần mềm

Trong hướng dẫn này, bạn sẽ học cách

  • Cài đặt tiện ích mở rộng GitHub Copilot trong trình chỉnh sửa mã của bạn
  • Chuyển đổi mô tả ngôn ngữ tự nhiên của bạn về một nhiệm vụ thành mã làm việc
  • Chọn giữa nhiều đề xuất hoàn thành mã thông minh thay thế
  • Khám phá các framework và ngôn ngữ lập trình lạ
  • Hướng dẫn GitHub Copilot cách sử dụng API tùy chỉnh của bạn
  • Thực hành phát triển dựa trên thử nghiệm với một lập trình viên cặp ảo trong thời gian thực

Để tiếp tục với hướng dẫn này, bạn cần có tài khoản GitHub cá nhân và trình chỉnh sửa mã như Visual Studio Code hoặc môi trường phát triển tích hợp như PyCharm

Tải xuống miễn phí. Nhấp vào đây để tải xuống bảng cheat miễn phí gồm các phím tắt để viết mã với GitHub Copilot thậm chí còn nhanh hơn

Bắt đầu với GitHub Copilot bằng Python

GitHub Copilot là sản phẩm thương mại đầu tiên dựa trên hệ thống OpenAI Codex, có thể dịch ngôn ngữ tự nhiên thành mã trong hơn một chục ngôn ngữ lập trình trong thời gian thực. Bản thân OpenAI Codex là hậu duệ của mô hình ngôn ngữ học sâu GPT-3. Mạng thần kinh trong Codex được đào tạo trên cả văn bản và hàng trăm triệu kho lưu trữ mã công khai được lưu trữ trên GitHub

Ghi chú. Bạn có thể tìm hiểu thêm về GPT-3 bằng cách nghe Real Python Podcast, với sự góp mặt của nhà khoa học dữ liệu Jodie Burchell

GitHub Copilot hiểu một số ngôn ngữ lập trình và nhiều ngôn ngữ của con người, điều đó có nghĩa là bạn không chỉ giới hạn trong tiếng Anh. Ví dụ: nếu bạn là người nói tiếng Tây Ban Nha bản ngữ, thì bạn có thể nói chuyện với GitHub Copilot bằng tiếng mẹ đẻ của mình

Ban đầu, sản phẩm chỉ có sẵn dưới dạng bản xem trước kỹ thuật cho một nhóm người được chọn. Điều này đã thay đổi gần đây và ngày nay, bất kỳ ai cũng có thể trải nghiệm sức mạnh đáng kinh ngạc của trí tuệ nhân tạo trong trình soạn thảo mã của họ. Nếu bạn muốn dùng thử, thì bạn sẽ cần đăng ký GitHub Copilot

Loại bỏ các quảng cáo

Đăng ký GitHub Copilot

Để bật GitHub Copilot, hãy đi tới cài đặt thanh toán trong hồ sơ GitHub của bạn và cuộn xuống cho đến khi bạn thấy phần có liên quan. Thật không may, dịch vụ này không miễn phí cho hầu hết mọi người. Tại thời điểm viết bài, dịch vụ có giá 10 đô la mỗi tháng hoặc 100 đô la mỗi năm khi trả trước. Bạn có thể tận hưởng thời gian dùng thử sáu mươi ngày mà không phải trả bất kỳ khoản nào, nhưng chỉ sau khi cung cấp thông tin thanh toán của bạn

Ghi chú. Đảm bảo hủy gói thuê bao chưa thanh toán trước khi hết hạn để tránh các khoản phí không mong muốn

Sinh viên và người bảo trì nguồn mở có thể nhận đăng ký GitHub Copilot miễn phí. Nếu bạn là người may mắn, thì bạn sẽ thấy thông tin sau sau khi kích hoạt dịch vụ

Trạng thái thanh toán của GitHub Copilot

GitHub sẽ xác minh trạng thái của bạn mỗi năm một lần dựa trên bằng chứng về việc đăng ký học tập, chẳng hạn như ảnh thẻ học sinh của bạn hoặc địa chỉ email trong. edu hoặc hoạt động của bạn tại một trong những kho lưu trữ mã nguồn mở phổ biến

Để biết hướng dẫn chi tiết về cách thiết lập và quản lý đăng ký GitHub của bạn, hãy làm theo các bước trong tài liệu chính thức. Tiếp theo, bạn sẽ tìm hiểu cách cài đặt tiện ích mở rộng GitHub Copilot cho Visual Studio Code. Thay vào đó, nếu bạn muốn sử dụng GitHub Copilot với PyCharm, hãy bỏ qua phần tiếp theo

Cài đặt tiện ích mở rộng mã Visual Studio

Vì Microsoft sở hữu GitHub nên không có gì ngạc nhiên khi trình soạn thảo Visual Studio Code của họ là công cụ đầu tiên nhận hỗ trợ GitHub Copilot. Có một số cách để cài đặt tiện ích mở rộng trong Visual Studio Code, nhưng cách nhanh nhất có lẽ là mở bảng điều khiển Mở nhanh bằng cách sử dụng Ctrl +P or Cmd+P and then typing the following command:

ext install GitHub.copilot

Khi bạn xác nhận bằng cách nhấn Enter , tiện ích này sẽ cài đặt tiện ích và nhắc bạn tải lại trình chỉnh sửa sau đó.

Ngoài ra, bạn có thể tìm thấy biểu tượng Tiện ích mở rộng trong Thanh hoạt động nằm ở phía bên trái của cửa sổ và thử tìm kiếm tiện ích mở rộng GitHub Copilot trên Visual Studio Marketplace

Phần mở rộng GitHub Copilot cho Visual Studio Code

Bạn cũng có thể hiển thị trực tiếp chế độ xem Tiện ích mở rộng trong Visual Studio Code bằng cách sử dụng phím tắt tương ứng

Sau khi cài đặt hoàn tất, Visual Studio Code sẽ yêu cầu bạn đăng nhập vào GitHub để cấp cho nó quyền truy cập vào hồ sơ GitHub của bạn, tiện ích mở rộng mới của bạn yêu cầu

Ủy quyền GitHub cho Mã VS

Visual Studio Code cần biết bạn là ai để xác minh trạng thái đăng ký GitHub Copilot của bạn. Tuy nhiên, cấp quyền truy cập vào hồ sơ GitHub của bạn cũng sẽ cho phép người chỉnh sửa đọc các kho lưu trữ riêng tư của bạn. Nếu đổi ý, bạn có thể thu hồi ủy quyền này bất kỳ lúc nào bằng cách đi tới cài đặt hồ sơ GitHub của mình và tìm GitHub cho Mã VS trong Ứng dụng OAuth được ủy quyền

Ghi chú. Hãy xem hướng dẫn Bắt đầu chính thức với GitHub Copilot trong Visual Studio Code nếu bạn gặp khó khăn tại bất kỳ thời điểm nào

Để làm việc với GitHub Copilot trong Visual Studio Code hiệu quả hơn nữa, đây là các phím tắt phổ biến nhất đáng ghi nhớ

ActionWindows / LinuxmacOSKích hoạt đề xuất nội tuyến Alt + \Tùy chọn +\See the next suggestionAlt+]Option+]See the previous suggestionAlt+[Option+[Accept a suggestionTabTabDismiss an inline suggestionEscEscShow all suggestions in a new tabCtrl+EnterCtrl+Enter

Nếu bạn gặp sự cố khiến các phím tắt mặc định hoạt động, thì hãy thử xác định phím tắt của riêng bạn trong Visual Studio Code. Điều này có thể đặc biệt hữu ích nếu bạn đang làm việc với bố cục bàn phím không phải của Hoa Kỳ

Đôi khi các đề xuất của GitHub Copilot có thể cản trở bạn. Nếu đúng như vậy, thì bạn có thể tắt chúng trên toàn cầu hoặc cho một ngôn ngữ lập trình cụ thể bằng cách nhấp vào biểu tượng của tiện ích mở rộng ở góc dưới cùng bên phải của cửa sổ trình chỉnh sửa

Biểu tượng GitHub Copilot trong Visual Studio Code

Đó là nó. Bạn đã sẵn sàng bắt đầu sử dụng tiện ích mở rộng GitHub Copilot trong Visual Studio Code. Nhưng nếu bạn muốn sử dụng GitHub Copilot với PyCharm, hãy đọc tiếp để tìm hiểu cách thực hiện

Loại bỏ các quảng cáo

Cài đặt Plugin PyCharm

PyCharm là một trong nhiều môi trường phát triển tích hợp phổ biến do JetBrains cung cấp và chia sẻ plugin GitHub Copilot phổ biến. Bạn có thể cài đặt plugin đó bằng cách mở Cài đặt trong IDE của mình và chọn Plugin từ danh sách tùy chọn. Sau đó, trên tab Thị trường, tìm kiếm plugin GitHub Copilot và nhấp vào nút Cài đặt bên cạnh nó

Plugin Copilot GitHub cho PyCharm

Sau khi cài đặt plugin, bạn sẽ được nhắc khởi động lại IDE của mình. Khi thực hiện, bạn sẽ phải đăng nhập vào GitHub bằng cách chọn Công cụ từ menu PyCharm, sau đó chọn GitHub Copilot và Đăng nhập vào GitHub

Menu đăng nhập GitHub trong PyCharm

Điều đó sẽ tạo mã thiết bị giả ngẫu nhiên mà bạn phải sao chép và dán vào trang Kích hoạt thiết bị trong trình duyệt web của mình, bạn sẽ được đưa đến trang này sau khi đăng nhập vào GitHub

Kích hoạt thiết bị trên GitHub

Như với Visual Studio Code, bạn sẽ cần ủy quyền cho plugin của PyCharm để xác minh danh tính của bạn và trạng thái đăng ký GitHub Copilot tương ứng. Tuy nhiên, PyCharm sử dụng API GitHub thay vì mã thông báo OAuth, vì vậy quy trình ủy quyền có vẻ hơi khác một chút

Ủy quyền GitHub cho PyCharm

Lưu ý rằng việc cấp quyền truy cập vào hồ sơ GitHub của bạn sẽ cho phép plugin truy xuất thông tin hồ sơ của bạn, chẳng hạn như địa chỉ email và đọc các kho lưu trữ riêng tư của bạn. Nếu đổi ý, bạn có thể thu hồi ủy quyền này bất cứ lúc nào bằng cách đi tới cài đặt hồ sơ GitHub của bạn và tìm Plugin GitHub Copilot trong Ứng dụng GitHub được ủy quyền

Ghi chú. Xem bản chính thức Bắt đầu với GitHub Copilot trong hướng dẫn JetBrains IDE nếu bạn gặp khó khăn tại bất kỳ thời điểm nào

Để làm việc với GitHub Copilot trong PyCharm hiệu quả hơn nữa, đây là các phím tắt phổ biến nhất đáng ghi nhớ

ActionWindows / LinuxmacOSKích hoạt đề xuất nội tuyến Alt + \Tùy chọn +\See the next suggestionAlt+]Option+]See the previous suggestionAlt+[Option+[Accept a suggestionTabTabDismiss an inline suggestionEscEscShow all suggestions in a new tabAlt+EnterAlt+Enter

Đôi khi, việc hoàn thành tự động của GitHub Copilot có thể cản trở bạn. Nếu đúng như vậy, thì bạn có thể tắt chúng trên toàn cầu hoặc cho một ngôn ngữ lập trình cụ thể bằng cách nhấp vào biểu tượng của plugin ở góc dưới cùng bên phải của cửa sổ trình chỉnh sửa

Biểu tượng phi công phụ GitHub trong PyCharm

Đó là nó. Bạn đã sẵn sàng bắt đầu sử dụng plugin GitHub Copilot trong PyCharm

Bàn giao quyền lực cho GitHub Copilot

Bây giờ là lúc đảm bảo GitHub Copilot hoạt động như mong đợi trong Visual Studio Code hoặc PyCharm. Để kiểm tra xem GitHub Copilot có hoạt động như mong đợi trong trình soạn thảo Visual Studio Code của bạn hay không, hãy tạo một tệp văn bản mới, chọn Python làm ngôn ngữ lập trình cơ bản và bắt đầu viết chữ ký hàm mẫu, chẳng hạn như

print["¡Hola, mundo!"[::-1]]
2

GitHub Copilot trong Visual Studio Code

Ngay sau khi bạn nhập dấu hai chấm [

print["¡Hola, mundo!"[::-1]]
3] ở cuối dòng đầu tiên để giới thiệu một khối mã mới, GitHub Copilot sẽ điền vào nội dung chức năng được đề xuất cho bạn. Cho đến khi bạn chấp nhận bằng cách nhấn Tab hoặc từ chối bằng Esc , . Đoạn mã gợi ý gọi hàm
print["¡Hola, mundo!"[::-1]]
4 để hiển thị văn bản
print["¡Hola, mundo!"[::-1]]
5 trên màn hình trong trường hợp này. Mặc dù điều đó không ngoạn mục, nhưng nó xác nhận rằng GitHub Copilot thực sự đang hoạt động chính xác.

Ghi chú. Bạn có nhận thấy phần mở rộng được điền vào phần thân hàm của bạn nhanh như thế nào không?

Làm việc với GitHub Copilot trong PyCharm hầu như giống như trong các trình soạn thảo mã khác. Để xác minh xem cài đặt plugin có thành công hay không, hãy thử một ví dụ khác. Bắt đầu viết một chữ ký hàm có tên có thể cho biết bạn muốn cộng hai số với nhau, chẳng hạn như

print["¡Hola, mundo!"[::-1]]
6

Trợ lý GitHub trong PyCharm

Chắc chắn rồi, GitHub Copilot đưa ra một gợi ý rất hợp lý, trả về tổng của

print["¡Hola, mundo!"[::-1]]
7 và
print["¡Hola, mundo!"[::-1]]
8. Lưu ý sự khác biệt giữa trả về một giá trị từ hàm và in kết quả trên màn hình. Trợ lý ảo thông minh của bạn có thể suy ra ý định từ tên và đối số của hàm

Ghi chú. Công bằng mà nói, không có phép màu nào đối với GitHub Copilot. Nó được đào tạo trên một lượng lớn dữ liệu chất lượng cao, cho phép nó quyết định đầu ra có khả năng nhất dựa trên những gì nó thấy cho đến nay trong tệp hoặc dự án của bạn. Vì công cụ không thể hiểu mã của bạn nên không phải lúc nào công cụ cũng hiểu đúng các đề xuất đó

Trong phần còn lại của hướng dẫn này, bạn sẽ khám phá một số trường hợp sử dụng thực tế cho GitHub Copilot trong các tác vụ kỹ thuật phần mềm hàng ngày. Bạn sẽ học cách nâng năng suất của mình lên một cấp độ hoàn toàn mới bằng cách nhận các đề xuất mã tức thì phù hợp với nhu cầu lập trình của bạn

Loại bỏ các quảng cáo

Tổng hợp mã Python từ ngôn ngữ tự nhiên

Vì GitHub Copilot đã được đào tạo về ngôn ngữ tự nhiên cũng như các mẫu được tuyển chọn của các ngôn ngữ lập trình khác nhau nên có vẻ như nó hiểu được cả hai miền. Do đó, hoàn toàn có thể giải thích một vấn đề trừu tượng cho GitHub Copilot bằng tiếng Anh đơn giản hoặc ngôn ngữ tự nhiên khác và mong đợi nó tạo mã tương ứng bằng ngôn ngữ lập trình mong muốn

Mô hình học máy cơ bản cũng có khả năng làm điều ngược lại—nghĩa là giải thích một đoạn mã bằng ngôn ngữ tự nhiên hoặc thậm chí dịch ngôn ngữ lập trình này sang ngôn ngữ lập trình khác. Hãy tưởng tượng điều này có thể hữu ích như thế nào đối với những người mới bắt đầu và những người có tâm hồn sáng tạo, những người có tầm nhìn về những gì họ muốn đạt được nhưng chưa thành thạo lập trình máy tính

Bạn sắp thấy bản dịch này giữa ngôn ngữ của con người và máy tính trông như thế nào trong thực tế

Sử dụng Nhận xét Python để mô tả vấn đề

Mặc dù những nhân vật có ảnh hưởng trong giới lập trình như Robert C. Martin coi các nhận xét về mã là một phản mẫu, đôi khi các nhận xét có thể hữu ích trong việc giải thích lý do tại sao một đoạn mã nhất định trông giống như vậy. Bạn thường viết nhận xét cho bản thân trong tương lai hoặc cho đồng đội của mình làm việc trên cùng một cơ sở mã

Khi bạn thêm GitHub Copilot vào hỗn hợp, thì nó sẽ trở thành một đối tượng mục tiêu khác có thể đọc nhận xét mã của bạn. Hãy xem xét nhận xét một dòng sau bằng Python, mô tả chương trình

print["¡Hola, mundo!"[::-1]]
9 cổ điển

$ cd 
$ git remote add origin //github.com//
$ git push --tags
1

Sau khi nhập nhận xét đó vào trình chỉnh sửa mã của bạn, bạn sẽ nhận thấy rằng GitHub Copilot không tự động nhận nó. Khi bạn chọn giao tiếp với nó thông qua nhận xét, bạn phải mở tab hoặc bảng điều khiển bên của GitHub Copilot để xem các đề xuất. Ngoài ra, bạn có thể bắt đầu nhập một đoạn mã để mã tự động hoàn thành. Dù bằng cách nào, việc viết nhận xét từ trên sẽ cung cấp cho bạn mã Python sau

$ cd 
$ git remote add origin //github.com//
$ git push --tags
2

Đó gần giống như gợi ý mà bạn nhận được khi xác minh tiện ích mở rộng Visual Studio Code bằng cách viết sơ khai hàm

print["¡Hola, mundo!"[::-1]]
2. Tuy nhiên, lần này, bạn nhận được kết quả hơi khác một chút. GitHub Copilot hiểu rằng bạn muốn coi đoạn nhận xét được trích dẫn của mình là văn bản chữ chứ không phải là hướng dẫn

Rõ ràng, điều đó quá dễ dàng đối với GitHub Copilot. Làm thế nào về việc nâng cao tiêu chuẩn bằng cách yêu cầu một đầu ra cụ thể hơn?

$ cd 
$ git remote add origin //github.com//
$ git push --tags
5

Bạn sẽ thấy các đề xuất mới sau khi làm mới bảng điều khiển GitHub Copilot trong trình chỉnh sửa của mình. Số lượng và chất lượng của chúng có thể thay đổi mỗi khi bạn kích hoạt GitHub Copilot. Điều tốt nhất mà bạn từng nhận được cho nhận xét cụ thể này là điều này

print["¡Hola, mundo!"[::-1]]

Bây giờ, điều đó thật ấn tượng. GitHub Copilot hoàn thiện nó bằng cách tạo mã Pythonic không chỉ chính xác mà các Pythonistas có kinh nghiệm sẽ tự viết. Các đề xuất sẽ trở nên thú vị hơn khi bạn đưa vào nhiều bình luận hơn

Thêm nhiều bình luận để tăng độ phức tạp của vấn đề

Sử dụng nhận xét một dòng để mô tả vấn đề là tốt, nhưng bạn chỉ có thể gói gọn quá nhiều nội dung trong đó. May mắn thay, có thể kết hợp nhiều bình luận liên tiếp thành một câu chuyện hợp lý và gắn kết mà GitHub Copilot sẽ coi là một tổng thể. Tốt nhất là đặt một câu hoàn chỉnh trên mỗi dòng mà không ngắt dòng, nhưng bạn có thể tùy ý thêm dấu gạch chéo ngược rõ ràng [

$ cd 
$ git remote add origin //github.com//
$ git push --tags
72] vào giữa câu để đánh dấu ngắt dòng

$ cd 
$ git remote add origin //github.com//
$ git push --tags
7

Đảm bảo sử dụng ngôn ngữ đúng ngữ pháp và chú ý dấu câu của bạn để có kết quả chính xác. Trong trường hợp này, bạn cũng theo dõi các nhận xét bằng chữ ký chức năng, cung cấp thêm manh mối cho GitHub Copilot. Một trong những gợi ý mà bạn sẽ nhận được trông khá tuyệt

$ cd 
$ git remote add origin //github.com//
$ git push --tags
9

Nếu bạn đang tìm kiếm lời giải thích về những gì đang diễn ra trong chức năng trên, thì không cần tìm đâu xa hơn là mô tả bằng văn bản trong nhận xét của bạn. Mã được đề xuất phản ánh rất chặt chẽ những gì bạn mô tả ở đó

Ghi chú. GitHub Copilot tạo mã theo nhiều phong cách và quy ước khác nhau. Để đạt được tính nhất quán và loại bỏ những phiền nhiễu không cần thiết, tất cả các đề xuất mã được trình bày trong hướng dẫn này đã được định dạng lại để tuân thủ hướng dẫn kiểu PEP 8. Hãy nhớ rằng bạn có thể tự định dạng lại mã trong hầu hết các trình chỉnh sửa chỉ bằng một nút nhấn

Khi bạn gọi hàm

$ cd 
$ git remote add origin //github.com//
$ git push --tags
73, bạn sẽ có thể đánh giá mã được tạo hoạt động tốt như thế nào

ext install GitHub.copilot
1

Đó không phải là điều tuyệt vời sao?

Ghi chú. Hãy nhớ rằng những gợi ý mà bạn nhận được có thể khác với những gợi ý được trình bày trong hướng dẫn này. Đôi khi phải thử và sai trước khi nhận được kết quả mong muốn, vì vậy hãy thử điều chỉnh nhận xét của bạn một chút nếu bạn không nhận được kết quả khả quan ngay lập tức

Một điểm quan trọng cần lưu ý về GitHub Copilot là nó có một số bộ lọc được triển khai để chặn các từ thực sự xúc phạm, tục tĩu và thông tin nhạy cảm như dữ liệu cá nhân hoặc khóa API bí mật. Nó sẽ cố gắng không bao giờ cung cấp cho bạn các đề xuất chứa các yếu tố đó. Bạn có thể thử nghiệm các bộ lọc đó bằng cách dụ GitHub Copilot tiết lộ thông tin cá nhân hoặc bí mật của ai đó

Đoạn mã Đề xuất Hoàn thành_______174Không có

$ cd 
$ git remote add origin //github.com//
$ git push --tags
75
$ cd 
$ git remote add origin //github.com//
$ git push --tags
76
$ cd 
$ git remote add origin //github.com//
$ git push --tags
77
$ cd 
$ git remote add origin //github.com//
$ git push --tags
78

Trong hầu hết các trường hợp, nó thực hiện khá tốt việc nhận dạng thông tin nhạy cảm và cung cấp đầu ra ngẫu nhiên hoặc ẩn danh. Tuy nhiên, cơ chế lọc không hoàn hảo, vì vậy về mặt lý thuyết, nó có thể làm rò rỉ dữ liệu thực tế của ai đó khỏi tập dữ liệu đào tạo của nó. Theo trang web chính thức, khả năng điều này xảy ra là rất nhỏ

Phần lớn mã mà GitHub Copilot gợi ý chưa từng thấy trước đây. Nghiên cứu nội bộ mới nhất của chúng tôi cho thấy rằng khoảng 1% thời gian, một đề xuất có thể chứa một số đoạn mã dài hơn ~150 ký tự phù hợp với tập huấn luyện. [Nguồn]

Bạn sẽ nói chi tiết hơn sau, nhưng bây giờ, đã đến lúc đẩy mạnh trò chơi của bạn bằng cách để GitHub Copilot giải câu đố lập trình cho bạn

Loại bỏ các quảng cáo

Giải câu đố cuộc thi lập trình

Để kiểm tra sức mạnh thực sự của GitHub Copilot, bạn có thể sao chép và dán một đoạn mô tả bằng văn bản về thử thách viết mã và xem nó sẽ đối phó như thế nào. Ví dụ: tại sao bạn không lấy phần đầu tiên của câu đố Sonar Sweep từ ngày đầu tiên của lịch Advent of Code năm 2021

ext install GitHub.copilot
7

Mô tả đầy đủ về sự cố dài hơn một chút và được viết tắt trong khối mã ở trên để tiết kiệm dung lượng. Nói tóm lại, mục tiêu của bạn là xác định số lần phép đo độ sâu tăng so với phép đo trước đó. GitHub Copilot tìm ra giải pháp cho vấn đề cụ thể này đặc biệt tốt, xem xét có bao nhiêu người đã giải quyết chính xác cùng một nhiệm vụ và chia sẻ giải pháp của họ trên GitHub

ext install GitHub.copilot
8

Đó là một vòng lặp ngắn bắt đầu từ mục thứ hai trong danh sách phép đo và so sánh kết quả đọc hiện tại với mục trước đó. Nếu số đọc hiện tại lớn hơn, thì nó sẽ tăng bộ đếm, mà hàm sẽ trả về ở cuối. Giải pháp này hoạt động chính xác, hiệu quả hợp lý và dễ đọc, nhưng bạn không cảm thấy bắt buộc phải sử dụng các đề xuất của GitHub Copilot ở dạng chữ. Nó không phải là tất cả hoặc không có gì

Bạn có thể chỉnh sửa mã được tạo bởi GitHub Copilot giống như mã của riêng bạn. Đôi khi, bạn có thể không thích định dạng của nó, các quy ước đặt tên mà nó đã áp dụng hoặc một đoạn logic cụ thể mà bạn muốn viết lại. Trong những trường hợp khác, việc nhìn thấy một gợi ý có thể thôi thúc bạn nghĩ ra một giải pháp thay thế thông minh hơn. Trong trường hợp này, bạn có thể sử dụng giải pháp một lớp này chẳng hạn

$ cd 
$ git remote add origin //github.com//
$ git push --tags
10

Bạn lấy tổng của chuỗi những cái được tạo với a cho mọi cặp phép đo liền kề nếu chênh lệch của chúng là dương. Tùy thuộc vào trình độ kiến ​​thức Python của bạn, bạn có thể thích đoạn mã này hoặc đoạn mã được đề xuất tốt hơn

Bây giờ bạn đã biết cách tạo mã từ ngôn ngữ tự nhiên bằng một hoặc nhiều nhận xét Python. Tuy nhiên, là một kỹ sư phần mềm, có lẽ bạn sẽ đánh giá cao các đề xuất mã theo ngữ cảnh hơn nữa

Nhận các đề xuất hoàn thành mã thông minh hơn nữa

Bạn có thể coi GitHub Copilot là một cơ chế hoàn thành mã thông minh trên các steroid hiểu ngữ cảnh dự án của bạn ở mức độ sâu, cung cấp các đề xuất phù hợp nhất cho bạn. Khi bạn làm việc với GitHub Copilot đủ lâu, đôi khi nó có thể mang lại cho bạn cảm giác rùng rợn rằng nó có thể đọc được suy nghĩ của bạn. Bạn sẽ thấy một vài ví dụ thể hiện hành vi như vậy trong phần này

Hãy để GitHub Copilot đọc được suy nghĩ của bạn

Giả sử bạn muốn tìm nghiệm của đa thức bậc hai, còn được gọi là hàm bậc hai, có ba hệ số. 𝑎, 𝑏 và 𝑐. Bạn có thể biểu diễn một hàm như vậy bằng cách sử dụng dạng đại số sau

Ví dụ: hàm cụ thể 𝑥2 + 2𝑥 - 3 có các giá trị hệ số này. 𝑎 = 1, 𝑏 = 2, 𝑐 = -3, mà bạn có thể sử dụng để tính cái gọi là phân biệt, thường được biểu thị bằng chữ Hy Lạp delta

Trong trường hợp này, biệt thức của hàm bằng mười sáu [Δ = 16] khi bạn thay thế các chữ cái 𝑎, 𝑏 và 𝑐 bằng các giá trị tương ứng trong công thức trên. Tùy thuộc vào dấu của biệt thức, hàm bậc hai của bạn có thể có hai, một hoặc không có nghiệm nào cả

Vì biệt thức được tính trước đó là một số dương, mười sáu, nên bạn biết rằng hàm bậc hai của bạn có chính xác hai nghiệm, có giá trị là 𝑥1 = -3 và 𝑥2 = 1 khi bạn áp dụng các công thức trên. Cắm một trong số chúng vào hàm bậc hai của bạn vì giá trị của biến 𝑥 làm cho hàm trả về 0. Nguyên hàm của hàm là các điểm mà parabol tương ứng cắt trục hoành khi vẽ đồ thị

Giờ đây, bạn có thể triển khai hàm Python để tìm nghiệm của một đa thức như vậy dựa trên ba hệ số của nó, 𝑎, 𝑏 và 𝑐. Bạn sẽ muốn làm theo cùng một thuật toán bằng cách tính giá trị phân biệt và đánh giá số gốc chính xác. Bắt đầu bằng cách viết một chữ ký chức năng mô tả, điều này có thể gợi ý ý định của bạn là gì

$ cd 
$ git remote add origin //github.com//
$ git push --tags
11

Sau một thời gian ngắn, GitHub Copilot sẽ bắt đầu đưa ra đề xuất cho bạn. Nếu bạn may mắn, thì một trong số chúng sẽ chính xác đến kinh ngạc

$ cd 
$ git remote add origin //github.com//
$ git push --tags
12

Hàm tính toán giá trị phân biệt bằng cách sử dụng công thức đúng và lưu kết quả vào một biến trợ giúp. Tùy thuộc vào dấu hiệu của phân biệt, nó trả về

$ cd 
$ git remote add origin //github.com//
$ git push --tags
79, một giá trị gốc duy nhất hoặc bao gồm hai giá trị gốc, tất cả đều được tính toán chính xác. Lưu ý rằng giải pháp gợi ý sử dụng toán tử lũy thừa [
$ cd 
$ git remote add origin //github.com//
$ git push --tags
90] để tính căn bậc hai của phân thức. Điều đó tránh nhập hàm ________ 191 từ mô-đun Python ________ 192

Ghi chú. Các đề xuất mà bạn nhìn thấy có thể trông khác vì trí tuệ nhân tạo không hoàn toàn mang tính quyết định vì nó liên tục học hỏi những điều mới. Bạn thậm chí có thể nhận được kết quả thay thế cho đầu vào giống hệt nhau được yêu cầu vào những thời điểm khác. Điều đó đặc biệt đúng khi bạn có mã nguồn bổ sung trong dự án của mình, từ đó GitHub Copilot sẽ vẽ bối cảnh

Được rồi, nhưng hàm được tạo chỉ có thể tìm thấy các gốc số thực nếu chúng tồn tại. Thay vào đó, nếu bạn muốn hiển thị tất cả các gốc trong miền của các số phức thì sao?

Loại bỏ các quảng cáo

Cung cấp ngữ cảnh để nhận đề xuất tốt hơn

Định lý cơ bản của đại số phát biểu rằng một đa thức bậc 𝑛 với hệ số phức có đúng 𝑛 nghiệm phức. Nói cách khác, hàm bậc hai, là đa thức bậc hai, luôn có đúng hai nghiệm phức ngay cả khi không có nghiệm nào trong miền thực

Xét hàm số 𝑥2 + 1 có định thức âm, không có nghiệm. Bạn có thể xác nhận việc thiếu nghiệm bằng đồ thị bằng cách vẽ đồ thị hình parabol của hàm, không cắt qua trục hoành ở bất kỳ đâu. Tuy nhiên, cùng một hàm có hai nghiệm phức, 𝑥1 = -𝑖 và 𝑥2 = 𝑖, trong đó 𝑖 là đơn vị ảo có giá trị -1 khi bình phương. 𝑖2 = -1

Làm cách nào bạn có thể yêu cầu GitHub Copilot thay đổi cách triển khai để bạn có được gốc phức tạp thay vì gốc thực?

Bạn cần thêm các ràng buộc cho vấn đề bằng cách cung cấp cho GitHub Copilot một số ngữ cảnh để rút ra từ đó. Ví dụ, bạn có thể that you wish to be used hoặc viết một mô tả kết quả mong đợi bằng ngôn ngữ tự nhiên

$ cd 
$ git remote add origin //github.com//
$ git push --tags
13

Tại đây, bạn nhập mô-đun

$ cd 
$ git remote add origin //github.com//
$ git push --tags
93, là đối tác phức tạp của mô-đun
$ cd 
$ git remote add origin //github.com//
$ git push --tags
92. Nó chứa hàm ________ 195, có thể tính căn bậc hai của một số âm, trong khi đó, hàm ________ 196 gây ra lỗi trong trường hợp như vậy

>>>

$ cd 
$ git remote add origin //github.com//
$ git push --tags
14

Căn bậc hai của

$ cd 
$ git remote add origin //github.com//
$ git push --tags
97 trong miền phức tạo ra đơn vị ảo, mà Python gọi là
$ cd 
$ git remote add origin //github.com//
$ git push --tags
98. Bạn có thể đọc thêm về cách sử dụng số phức trong Python để tìm hiểu lý do tại sao nó sử dụng chữ cái
$ cd 
$ git remote add origin //github.com//
$ git push --tags
99 thay vì
ext install GitHub.copilot
10 để biểu thị đơn vị ảo

Chuỗi tài liệu của bạn cho biết loại dữ liệu dự kiến ​​mà hàm sẽ trả về. Trong một số trường hợp, bạn có thể cần làm rõ mong đợi của mình bằng cách đưa vào các từ cụ thể hơn. Chẳng hạn, viết “một bộ gồm cả hai số phức” sẽ ngụ ý một bộ gồm đúng hai phần tử. Mặt khác, cặp từ thay vì tuple sẽ ít rõ ràng hơn

Ghi chú. Ngoài các chuỗi tài liệu, GitHub Copilot hiểu các gợi ý loại trong mã Python của bạn

Với việc bổ sung hai manh mối nhỏ này, GitHub Copilot giờ đây sẽ tạo ra một triển khai khác cho chữ ký hàm rất giống nhau

$ cd 
$ git remote add origin //github.com//
$ git push --tags
15

Nó tính toán biệt thức như trước nhưng không còn kiểm tra dấu của nó nữa. Thay vào đó, hàm tính toán hai nghiệm phức bằng cách tận dụng hàm

$ cd 
$ git remote add origin //github.com//
$ git push --tags
95, giống như bạn muốn. Bạn có thể kiểm tra hàm mới của mình trong Python REPL để kiểm tra xem hàm có tính toán chính xác cả hai nghiệm phức không

>>>

$ cd 
$ git remote add origin //github.com//
$ git push --tags
16

Mã này hoạt động xuất sắc. Hàm

ext install GitHub.copilot
12 trả về
ext install GitHub.copilot
13 cho hai nghiệm phức,
$ cd 
$ git remote add origin //github.com//
$ git push --tags
98 và
ext install GitHub.copilot
15

Ngay cả khi điều đó không khiến bạn đặc biệt hứng thú, thì có lẽ bạn sẽ bị ấn tượng bởi sự sáng tạo của GitHub Copilot, điều này có thể giúp bạn tiết kiệm rất nhiều thời gian. Tiếp theo, bạn sẽ sử dụng GitHub Copilot để tạo phần thân của một lớp

Hưởng lợi từ sự sáng tạo của GitHub Copilot

Đã bao nhiêu lần bạn thiết kế một loại dữ liệu mới, chỉ để gặp khó khăn trong việc tìm ra các thuộc tính phù hợp hoặc cách triển khai chúng? . Tab.

Giả sử bạn muốn định nghĩa một lớp

ext install GitHub.copilot
16 bằng cách sử dụng các lớp dữ liệu của Python. Bạn bắt đầu bằng cách đặt tên có ý nghĩa cho loại dữ liệu mới của mình và giới thiệu thuộc tính đầu tiên, được gọi là
ext install GitHub.copilot
17

GitHub Copilot đề xuất các thuộc tính lớp

GitHub Copilot ngay lập tức chọn từ đó bằng cách đề xuất thuộc tính có khả năng nhất tiếp theo,

ext install GitHub.copilot
18, sau đó là
ext install GitHub.copilot
19. Tuy nhiên, bạn biết rằng tuổi của một người thay đổi theo thời gian, vì vậy, thay vào đó, bạn ghi lại ngày sinh của họ. Gợi ý hợp lý tiếp theo từ GitHub Copilot là một phương pháp tính tuổi của một người dựa trên ngày hiện tại. Khi bạn xác định một thuộc tính mới, nó sẽ hoàn thành phần thân của nó một cách gọn gàng bằng cách nối tên và họ

Cuối cùng, đây là kết quả mà bạn nhận được chỉ bằng một vài lần nhấn phím trong trình chỉnh sửa mã của mình

$ cd 
$ git remote add origin //github.com//
$ git push --tags
17

Đó là một trình tiết kiệm thời gian rất lớn và tăng năng suất không giống ai. Ngay cả khi bạn biết phải nhập gì, GitHub Copilot cho phép bạn viết mã với tốc độ suy nghĩ, đoán những gì bạn có thể đang nghĩ và sau đó đưa ra đề xuất phù hợp mà bạn có thể chấp nhận chỉ bằng một nút bấm hoặc một lần nhấn phím

Loại bỏ các quảng cáo

Trở thành một người đa ngôn ngữ lập trình với một dịch giả cá nhân

Không có gì lạ khi kết hợp nhiều ngôn ngữ, chẳng hạn như HTML, CSS, JavaScript, ngôn ngữ tạo khuôn mẫu Django và Python, trong một tệp. May mắn thay, GitHub Copilot biết hơn chục ngôn ngữ lập trình, thậm chí nhiều framework hơn và một số ngôn ngữ của con người. Không gặp khó khăn khi chuyển đổi giữa chúng khi đang di chuyển tùy thuộc vào ngữ cảnh, tất cả mà không làm gián đoạn quy trình của bạn

Ví dụ: bạn có thể muốn xác định một biến Python để lưu trữ truy vấn SQL truy xuất người dùng theo tên phù hợp. Miễn là bạn sử dụng đúng từ trong tên biến của mình, bạn sẽ nhận được gợi ý hợp lý, chẳng hạn như gợi ý này

GitHub Copilot Đề xuất truy vấn SQL

Lưu ý cách bạn lấy các dòng riêng lẻ theo từng giai đoạn vì bạn đã xác định một chuỗi ký tự nhiều dòng bằng cách sử dụng dấu ngoặc kép [

ext install GitHub.copilot
70]. Kết quả được mô tả trong video trên là như sau

$ cd 
$ git remote add origin //github.com//
$ git push --tags
18

Thoạt nhìn, truy vấn có vẻ ổn, mặc dù GitHub Copilot đã đưa ra một số giả định về tên bảng của bạn và hai cột để tìm kiếm. Tuy nhiên, thật thoải mái khi thấy rằng nó tạo ra một câu lệnh đã chuẩn bị sẵn chứ không phải là một chuỗi đơn giản với truy vấn SQL, do đó giúp ngăn chặn một cuộc tấn công SQL injection

Được rồi, bạn đang cảm thấy khá thoải mái với GitHub Copilot vào thời điểm này. Nhưng hãy ngồi yên vì vẫn còn rất nhiều nền tảng để trang trải

Thực hành lập trình cặp với một người bạn ảo

Ngay cả trước khi truy cập trang web chính thức của GitHub Copilot, bạn sẽ nhanh chóng nhận thấy trong kết quả tìm kiếm trên web của mình rằng nó đang được quảng cáo là một lập trình viên cặp AI. Tóm lại, lập trình theo cặp là một kỹ thuật Agile phổ biến bao gồm hai kỹ sư cùng nhau làm việc trên cùng một chức năng. Nhìn bề ngoài, việc sản xuất phần mềm như thế này tốn nhiều tiền hơn, nhưng về lâu dài, nó hứa hẹn sẽ tốn ít chi phí sửa lỗi hơn

Những lợi ích của lập trình cặp bao gồm

  • Chất lượng cao hơn của mã được sản xuất
  • Hiểu biết tổng thể tốt hơn về codebase trong toàn nhóm
  • Kiến thức và chia sẻ các thực tiễn tốt nhất

Thật khó để đánh bại những lợi thế của việc ngồi cạnh một người thực sự, người có thể đưa ra phản hồi trung thực về mã của bạn, khám phá các vấn đề cơ bản và dẫn bạn đi đúng hướng. Nhiều lợi ích của lập trình theo cặp chỉ được thấy khi nó được thực hiện dưới dạng nỗ lực hợp tác của nhóm. Mặt khác, trí tuệ nhân tạo có thể cung cấp cho bạn các đề xuất kém, dẫn đến chất lượng mã thấp hơn. Cuối cùng, tùy bạn quyết định có nghe hay không

Điều đó nói rằng, GitHub Copilot hoạt động thực sự hiệu quả trong việc tăng năng suất của bạn, khi bạn sắp tìm hiểu

Tạo đồ đạc dữ liệu mẫu để thử nghiệm

Trong quá trình phát triển hàng ngày, bạn thường cần nghĩ đến dữ liệu mẫu cho các thử nghiệm, tài liệu hoặc cài đặt mặc định của mình. Nếu bạn đang vẽ trống, thì GitHub Copilot sẽ đến giải cứu. Ví dụ, nhớ lại lớp

ext install GitHub.copilot
16 mà bạn đã định nghĩa trước đó

$ cd 
$ git remote add origin //github.com//
$ git push --tags
17

Bây giờ, giả sử bạn cần tạo một vài thể hiện của lớp này để đại diện cho nhân viên của một công ty. Trong khi bạn vẫn đang chỉnh sửa cùng một tệp hoặc đã nhập lớp

ext install GitHub.copilot
16 từ một mô-đun khác, bạn có thể sử dụng GitHub Copilot để điền danh sách nhân viên. Khai báo một danh sách Python trống bằng tên biến biểu cảm và nhấn Enter ngay sau dấu ngoặc vuông mở [
ext install GitHub.copilot
73] để kích hoạt các đề xuất.

$ cd 
$ git remote add origin //github.com//
$ git push --tags
20

Khi bạn tiếp tục nhấn Tab sau mỗi dòng được đề xuất, bạn có thể nhận được danh sách nhân viên sau.

$ cd 
$ git remote add origin //github.com//
$ git push --tags
21

GitHub Copilot đã thành công trong việc sử dụng lớp

ext install GitHub.copilot
16 của bạn cho các phần tử danh sách nhân viên. Sau này, bạn có thể sử dụng danh sách đó làm công cụ kiểm thử chung cho một nhóm các trường hợp kiểm thử yêu cầu nó. Ví dụ: bạn có thể bọc danh sách trong một chức năng mà khung thử nghiệm của bạn sẽ gọi. GitHub Copilot có thể là một trợ giúp tuyệt vời trong quá trình thử nghiệm bằng cách đề xuất cả thử nghiệm và mã đang thử nghiệm

Loại bỏ các quảng cáo

Mong muốn một trường hợp thử nghiệm xuất hiện một cách kỳ diệu

Đó là một cách thực hành tốt để cung cấp cho các hàm thử nghiệm của bạn những cái tên dài và mang tính mô tả vì chúng sẽ được hiển thị trong báo cáo chạy thử nghiệm. Khi một trong số chúng không hoạt động, chức năng kiểm tra được đặt tên hay sẽ ngay lập tức thu hút sự chú ý của bạn đến những gì không hoạt động. Những người ủng hộ phát triển dựa trên hành vi khuyên bạn nên sử dụng cả câu bắt đầu bằng từ nên tập trung vào hành vi đang được kiểm tra, điều này làm cho bài kiểm tra giống như một đặc tả yêu cầu nghiệp vụ

Lợi ích bổ sung của các tên hàm đôi khi dài đến nực cười như vậy là GitHub Copilot có thể sử dụng chúng để hỗ trợ bạn tạo triển khai trường hợp thử nghiệm. Ví dụ: xác định chữ ký hàm sau trong mô-đun thử nghiệm của lớp

ext install GitHub.copilot
16 của bạn

$ cd 
$ git remote add origin //github.com//
$ git push --tags
22

Hầu hết các khung kiểm tra sẽ tự động khám phá các trường hợp kiểm tra nếu chúng tuân theo các quy ước đặt tên tiêu chuẩn, chẳng hạn như khi bạn thêm tiền tố vào tên hàm kiểm tra là

ext install GitHub.copilot
76. Với GitHub Copilot, đề xuất được kích hoạt cho chức năng trên có thể giống như sau

$ cd 
$ git remote add origin //github.com//
$ git push --tags
23

Thật kỳ lạ, GitHub Copilot thích thư viện pytest bên ngoài mà bạn phải cài đặt và nhập thủ công hơn mô-đun

ext install GitHub.copilot
77 tích hợp có sẵn trong thư viện tiêu chuẩn

Ghi chú. Lựa chọn này có thể cho bạn biết điều gì đó về mức độ phổ biến của cả hai công cụ và thực tế, pytest được cho là một trong những khung thử nghiệm phổ biến và linh hoạt nhất trong hệ sinh thái Python

Mặc dù việc tự động hóa việc triển khai trường hợp thử nghiệm cho mã hiện tại đôi khi có thể hữu ích, nhưng có lẽ tốt hơn là lật ngược các bước và phát triển phần mềm theo kiểu từ trên xuống bằng cách sử dụng phát triển dựa trên thử nghiệm. Theo cách tiếp cận này, trước tiên bạn viết trường hợp thử nghiệm của mình dưới dạng đặc tả mã cấp cao, chưa tồn tại. Khi bạn có một trường hợp kiểm thử tự động, sau đó bạn viết một số mã để vượt qua

Bài tập phát triển dựa trên thử nghiệm [TDD]

Nếu bạn chưa từng thực hành TDD trước đây, thì hãy xem hướng dẫn Xây dựng bảng băm trong Python với TDD để biết khóa học thực hành, từng bước về sự phát triển dựa trên thử nghiệm

Tóm lại, bạn có thể tóm tắt quy trình theo ba bước

  1. Viết một trường hợp thử nghiệm thất bại mà bạn sắp đáp ứng
  2. Triển khai số lượng mã nhỏ nhất để vượt qua trường hợp thử nghiệm của bạn
  3. Tùy chọn, cấu trúc lại mã trong khi tất cả các trường hợp thử nghiệm của bạn vẫn đang trôi qua

Sau đó, rửa sạch và lặp lại. Miễn là bạn đủ kỷ luật để duy trì chu kỳ vĩnh viễn này, bạn sẽ viết mã có thể kiểm tra được với phạm vi kiểm tra cao và bản thân tài liệu. Đồng thời, bạn sẽ tránh viết mã mà bạn sẽ không bao giờ cần đến, giảm chi phí bảo trì tổng thể. Điều đó nói rằng, phát triển dựa trên thử nghiệm không phải là viên đạn bạc, vì vậy nó có thể không thực tế trong các dự án nghiên cứu và phát triển chẳng hạn

Được rồi, còn việc sao chép triển khai

ext install GitHub.copilot
78 từ hướng dẫn được đề cập ở trên, sử dụng GitHub Copilot làm lập trình viên cặp ảo của bạn thì sao?

$ cd 
$ git remote add origin //github.com//
$ git push --tags
24

Cái đầu tiên, được mô tả ở bên trái trong video bên dưới, sẽ chứa mã đang được kiểm tra. Cái còn lại, được mô tả ở bên phải, sẽ là nơi chứa các trường hợp thử nghiệm của bạn thúc đẩy quá trình triển khai. Tiếp theo, hãy viết trường hợp thử nghiệm đầu tiên của bạn để xác minh việc khởi tạo một lớp

ext install GitHub.copilot
78 mới

GitHub Copilot hỗ trợ phát triển dựa trên thử nghiệm

Lưu ý rằng để tuân theo quy trình phát triển dựa trên thử nghiệm, bạn nên chạy từng trường hợp thử nghiệm trước và sau khi triển khai đoạn mã tương ứng để đảm bảo rằng bạn đang thử nghiệm đúng thứ. Ngoài ra, bạn chỉ nên triển khai mức tối thiểu để đáp ứng các bài kiểm tra của mình. Nhưng GitHub Copilot đã đi trước một bước bằng cách cố gắng dự đoán mã mà bạn có thể cần trong tương lai. Đó không phải là một phương pháp phát triển dựa trên thử nghiệm hoàn toàn chính hãng

Tóm lại, đây là hai trường hợp thử nghiệm mà bạn vừa viết để kiểm tra xem bạn có thể tạo bảng băm có hoặc không có dung lượng ban đầu hay không

$ cd 
$ git remote add origin //github.com//
$ git push --tags
25

Dựa trên chúng, GitHub Copilot đã tạo ra cách triển khai bảng băm sau cho đến nay

$ cd 
$ git remote add origin //github.com//
$ git push --tags
26

Phương thức trình khởi tạo đặt dung lượng mặc định là mười trong trường hợp ai đó tạo bảng băm mà không cung cấp bất kỳ đối số nào, một quyết định được đưa ra bởi trường hợp thử nghiệm đầu tiên của bạn. Dung lượng sau đó được lưu trữ trong một thuộc tính thể hiện. Lưu ý rằng GitHub Copilot đã nhận ra chính xác sự khác biệt giữa kích thước của bảng băm và dung lượng của nó. Nó cũng giả định việc triển khai bảng băm cổ điển dựa trên bằng cách tạo các thùng trống

Mặc dù GitHub Copilot có thể không tốt bằng một lập trình viên theo cặp con người trong việc theo dõi bạn, nhưng nó thực sự tuyệt vời khi là một trợ lý ảo cung cấp câu trả lời cho các câu hỏi của bạn. Nó giống như ai đó đang tìm kiếm giải pháp cho vấn đề duy nhất của bạn trên Google hoặc Stack Overflow, được tích hợp vào trình chỉnh sửa mã ngay tại nơi bạn cần

Loại bỏ các quảng cáo

Ditch Stack Overflow cho các giải pháp tức thì, theo ngữ cảnh

Internet đầy rẫy những câu chuyện cười về việc lạm dụng các trang web như Stack Overflow hoặc Google để tìm kiếm câu trả lời cho câu hỏi của lập trình viên. Ví dụ: đã có những bản nhại lại bìa của những cuốn sách nổi tiếng của O'Reilly, chẳng hạn như cuốn sách nổi tiếng Copying and Pasteing from Stack Overflow

Sao chép và dán từ Stack Overflow [Hình ảnh. @ThePracticalDev]

Không có gì đáng ngạc nhiên, vì hầu hết các nhà phát triển đều sử dụng những công cụ đó thường xuyên trong khi thực hiện các công việc hàng ngày của họ và ngày nay sẽ rất khó để sống thiếu chúng.

GitHub Copilot có thể giảm sự phụ thuộc của bạn vào những công cụ đó. Nó có thể ngay lập tức cung cấp các đoạn mã phù hợp với ngữ cảnh của dự án của bạn như một chiếc găng tay, thậm chí không giống như câu trả lời hay nhất mà bạn tìm thấy trực tuyến. Hơn nữa, nó không buộc bạn phải rời khỏi trình chỉnh sửa mã, vì vậy bạn có thể ở lại khu vực này và đẩy nhanh tiến độ của mình. Đọc tiếp để tận hưởng kiến ​​thức tập thể về cộng đồng Python trong tầm tay của bạn

Đừng bao giờ nghĩ về mã soạn sẵn nữa

Python có cú pháp tương đối biểu cảm, cho phép bạn viết mã ngắn gọn và dễ đọc. Tuy nhiên, đôi khi không thể tránh khỏi mã soạn sẵn, ngay cả trong ngôn ngữ lập trình yêu thích của bạn. Đôi khi, không có cách nào khác ngoài việc viết một đoạn mã trông dài và dài dòng nhưng dường như không thực hiện được nhiều công việc hữu ích

Ví dụ: tìm nạp dữ liệu từ một địa chỉ URL, tuần tự hóa nó thành JSON và lưu kết quả vào một tệp liên quan đến rất nhiều chi tiết nhàm chán, không đóng góp nhiều giá trị. Sẽ không tuyệt sao nếu bạn có thể tập trung vào điều quan trọng nhất với mình—nghĩa là tìm ra giải pháp cho vấn đề cấp cao hơn trong khi để GitHub Copilot ánh xạ các bước riêng lẻ thành các đoạn mã?

Chà, hóa ra là bạn có thể. Như trước đây, hãy bắt đầu bằng cách viết chữ ký chức năng mô tả và để phần còn lại cho GitHub Copilot

$ cd 
$ git remote add origin //github.com//
$ git push --tags
27

Nội dung hàm được đề xuất để phản hồi chữ ký trên có thể như sau

$ cd 
$ git remote add origin //github.com//
$ git push --tags
28

Nó dựa trên thư viện yêu cầu bên ngoài mà bạn có thể cần phải cài đặt, vì đây là tiêu chuẩn thực tế để thực hiện các yêu cầu HTTP trong Python. Hàm tận dụng trình quản lý bối cảnh để đóng tệp sau khi kết xuất JSON vào đó. Nó đã đủ tốt, nhưng bạn có thể muốn thêm một vài chỉnh sửa mỹ phẩm

$ cd 
$ git remote add origin //github.com//
$ git push --tags
29

Theo hướng dẫn kiểu PEP 8, bạn thường nên xác định các câu lệnh nhập của mình bên ngoài các hàm và các mô-đun thư viện bên ngoài sẽ xuất hiện sau các mô-đun thư viện chuẩn. Ngoài ra, bạn cần nêu rõ mã hóa ký tự, chẳng hạn như UTF-8, khi làm việc với các tệp trong Python để tránh sự khác biệt giữa các hệ điều hành khác nhau có thể cho rằng các giá trị mặc định không tương thích

Ghi chú. Bạn có thể sử dụng màu đen hoặc một công cụ tương tự để giữ cho định dạng của mã được tạo phù hợp với phần còn lại của dự án của bạn

Sử dụng GitHub Copilot có thể an toàn hơn một chút so với Stack Overflow. Với Stack Overflow, bạn có thể vô tình sao chép và dán mã của người khác ở dạng nguyên văn mà không hiểu đầy đủ hoặc suy nghĩ xem liệu mã đó có hợp lý trong tình huống của bạn hay không. Chấp nhận đề xuất của GitHub Copilot có thể liều lĩnh không kém, nếu không muốn nói là hơn, nhưng ít nhất nó mang lại cho bạn một mảnh ghép được tinh chỉnh, phù hợp với ngữ cảnh cụ thể có nhiều khả năng thành công hơn là không

Một lĩnh vực khác mà GitHub Copilot tỏa sáng là giúp bạn không phải đi sâu vào tài liệu của thư viện hoặc API mà bạn muốn sử dụng

Luôn có Tài liệu API trong tầm tay của bạn

Giả sử bạn muốn viết một hàm Python nhỏ để lấy danh sách các kho lưu trữ công khai của người dùng GitHub. Theo cách tiếp cận truyền thống, bạn sẽ bắt đầu bằng cách thực hiện tìm kiếm trên web cho api github và bạn sẽ truy cập trang tài liệu API GitHub REST. Sau đó, bạn có thể bị choáng ngợp bởi số lượng API REST thay thế để lựa chọn, cũng như tất cả các hướng dẫn, bắt đầu nhanh và tài liệu tham khảo của chúng

May mắn thay, bạn có GitHub Copilot, đã được đào tạo để sử dụng các API nổi tiếng, vì vậy bạn có thể cung cấp cho nó gợi ý tối thiểu về việc gọi API nào. Tạo một mô-đun Python mới có tên là

ext install GitHub.copilot
80 và nhập đoạn mã sau vào đó

$ cd 
$ git remote add origin //github.com//
$ git push --tags
50

Sau đó, bạn sẽ chạy tập lệnh này trong phiên cuối cùng với mã thông báo của bạn được lưu trữ trong một biến môi trường. Theo thông lệ, bạn sẽ đọc các khóa bí mật và dữ liệu cấu hình thông qua các biến môi trường, vì vậy, bạn có thể tận dụng mô-đun

ext install GitHub.copilot
81 của Python để đọc mã thông báo API GitHub cá nhân mà bạn có thể cần để truy cập API

Ghi chú. Mặc dù bạn không cần mã thông báo để tìm nạp kho lưu trữ công khai của ai đó, nhưng bạn sẽ là một khách hàng ẩn danh. Để vượt qua giới hạn này, bạn cần xác thực bản thân bằng mã thông báo truy cập cá nhân của mình. Bạn nên làm điều đó ngay bây giờ vì hầu hết các điểm cuối API đều yêu cầu xác thực

Một trong những kết quả được đề xuất kết thúc hoạt động ngay lập tức

$ cd 
$ git remote add origin //github.com//
$ git push --tags
51

Trước khi kiểm tra chức năng này, hãy nhớ tạo mã thông báo truy cập cá nhân mới trên hồ sơ GitHub của bạn và đặt biến môi trường tương ứng trong thiết bị đầu cuối của bạn

$ cd 
$ git remote add origin //github.com//
$ git push --tags
52

$ cd 
$ git remote add origin //github.com//
$ git push --tags
53

Sau đó, trong khi bạn vẫn đang ở trong cùng một phiên cuối nơi bạn đã xác định biến môi trường, hãy chạy tệp nguồn có mã của bạn để Python đọc hàm được tạo mà bạn có thể gọi

>>>

$ cd 
$ git remote add origin //github.com//
$ git push --tags
54

Trong trường hợp này, bạn sẽ nhận được một danh sách khá ngắn về các kho lưu trữ công cộng được tạo bởi Guido van Rossum, người tạo ra Python

Được rồi, việc sử dụng một API nổi tiếng không khó lắm, nhưng còn việc tận dụng một API tùy chỉnh mà GitHub Copilot chưa từng thấy trước đây thì sao?

Loại bỏ các quảng cáo

Dạy GitHub Copilot nói phương ngữ của riêng bạn

Giả sử bạn có mô-đun Python sau, mô-đun này xác định API tùy chỉnh để tổng hợp giọng nói bằng cách gói lệnh chuyển văn bản thành giọng nói [TTS] trên một trong ba nền tảng chính

$ cd 
$ git remote add origin //github.com//
$ git push --tags
55

Lớp

ext install GitHub.copilot
82 có một đối số tùy chọn với lệnh tổng hợp giọng nói có liên quan đến hệ điều hành của bạn. Hàm trợ giúp được xác định bên dưới tận dụng chức năng được giới thiệu trong Python 3. 10 để xác định đúng lệnh

Bây giờ, hãy tạo một mô-đun Python khác và yêu cầu GitHub Copilot tìm hiểu cách sử dụng API mới của bạn bằng cách đưa ra một điều ước trong nhận xét

$ cd 
$ git remote add origin //github.com//
$ git push --tags
56

Phần cuối tệp của bạn cung cấp cho GitHub Copilot ngữ cảnh cần thiết bằng cách thông báo rằng bạn muốn viết tập lệnh Python. Nếu không, bạn có thể nhận được ít đề xuất hữu ích hơn. Tuy nhiên, với sự kiểm tra quan trọng này, một trong những đề xuất sẽ giống như thế này

$ cd 
$ git remote add origin //github.com//
$ git push --tags
57

Xuất sắc. GitHub Copilot đã tìm thấy API tùy chỉnh của bạn trong một mô-đun Python khác, nhập nó khi cần và sử dụng lớp

ext install GitHub.copilot
82 đúng như mong muốn. Mặc dù nó hoạt động rất tốt với một mô-đun cục bộ, nhưng nó cũng có thể đề xuất các đoạn mã cho các mô-đun của bên thứ ba

Điều hướng một khung hoặc thư viện không quen thuộc

Khám phá các thư viện mới trong Python với GitHub Copilot là một trải nghiệm thú vị. Có lẽ bạn đang xem lại một khuôn khổ mà kiến ​​thức của bạn đã trở nên cũ kỹ và bạn đang phải vật lộn để nhớ bắt đầu từ đâu. Nhưng ngay cả khi bạn khá quen thuộc với một công cụ nhất định, GitHub Copilot đôi khi có thể làm bạn ngạc nhiên khi đề xuất các giải pháp hiệu quả hơn hoặc các phần API của nó mà bạn không biết.

Giả sử bạn muốn hiển thị điểm cuối API REST bằng cách sử dụng khung Flask để phục vụ danh sách sách được tuần tự hóa JSON được truy vấn từ cơ sở dữ liệu SQLite dựa trên tệp. Bây giờ, hãy tạo một tệp nguồn Python mới, nhập các mô-đun cần thiết và điều chỉnh câu trước đó từ đoạn này thành nhận xét Python

$ cd 
$ git remote add origin //github.com//
$ git push --tags
58

Đợi các đề xuất đến, sau đó chọn một đề xuất có vẻ tốt nhất. Đôi khi, bạn sẽ nhận được kết quả tốt hơn khi bắt đầu nhập mã dự kiến ​​và yêu cầu dần từng dòng đề xuất bằng cách nhấn Tab trên mỗi dòng. Cuối cùng, bạn có thể kết thúc với một cái gì đó như thế này.

$ cd 
$ git remote add origin //github.com//
$ git push --tags
59

Trong trường hợp này, GitHub Copilot đã tạo ra cấu trúc điển hình của ứng dụng Flask mà bạn có thể đã quên và nó đã xác định điểm cuối mà bạn yêu cầu. Để kiểm tra xem nó có hoạt động hay không, hãy mở thiết bị đầu cuối của bạn trong cùng thư mục với ứng dụng Flask của bạn và tạo cơ sở dữ liệu dựa trên tệp mới có tên là

ext install GitHub.copilot
84 với một vài cuốn sách mẫu

Để nhập các truy vấn SQL, bạn có thể chạy lệnh

ext install GitHub.copilot
85 ở chế độ hàng loạt và kết thúc nó bằng ký tự cuối tệp [EOF]

print["¡Hola, mundo!"[::-1]]
0

Trên Windows, thông thường bạn có thể gửi ký tự EOF bằng cách sử dụng Ctrl + Z, while on Linux and macOS, you’ll use the Ctrl+D key combination.

Tiếp theo, khởi động ứng dụng Flask của bạn trên giao diện mạng và số cổng mặc định bằng cách chạy tập lệnh của bạn, sau đó điều hướng trình duyệt web của bạn đến điểm cuối

ext install GitHub.copilot
86. Ngoài ra, bạn có thể sử dụng một lệnh như cURL trực tiếp trong thiết bị đầu cuối của mình để tìm nạp sách nếu bạn đang dùng macOS hoặc Linux

print["¡Hola, mundo!"[::-1]]
1

Khá đáng chú ý, mã được tạo bởi GitHub Copilot vẫn còn sống. Nghĩ về nó đi. Bạn chỉ cung cấp mô tả bằng ngôn ngữ tự nhiên của chương trình mong muốn và nhập hai mô-đun để cung cấp ngữ cảnh về việc sử dụng thư viện nào. Trong khi đó, trí tuệ nhân tạo đã biến mô tả của bạn thành một ứng dụng web hoạt động

Nói như vậy, GitHub Copilot cũng có những mặt tối của nó, mà bạn sẽ tìm hiểu trong phần tiếp theo

Loại bỏ các quảng cáo

Xem xét các lập luận chống lại việc sử dụng GitHub Copilot

Khi bạn tìm kiếm thông tin về GitHub Copilot trên web, bạn sẽ tìm thấy những lời khen ngợi và phấn khích, cũng như một số lời chỉ trích. Một số trong số đó là hợp lệ, trong khi một số bắt nguồn từ sự hiểu lầm về mục đích của công nghệ. Cuối cùng, GitHub Copilot có ý nghĩa khác nhau đối với những người khác nhau. Sau khi đọc phần này, bạn sẽ nhận ra những hạn chế đáng kể nhất của trợ lý ảo do AI cung cấp

Chắc chắn không phải Autopilot

Cái tên copilot là một lựa chọn thông minh của GitHub để mô tả sản phẩm này. Nó tránh làm mọi người hiểu lầm rằng nó có thể kiểm soát và thay thế bạn làm lập trình viên. Cũng giống như sĩ quan đầu tiên trong ngành hàng không, người thường được gọi là phi công phụ, GitHub Copilot hỗ trợ bạn nhưng không làm việc thay bạn. Cách diễn đạt này trái ngược với các hệ thống hỗ trợ người lái tiên tiến mà ngày nay một số nhà sản xuất ô tô gọi là hệ thống lái tự động

Bạn phải nhớ rằng mã do GitHub Copilot tạo ra không phải lúc nào cũng lý tưởng. Trên thực tế, đôi khi nó có thể không tối ưu hoặc không an toàn và có thể tuân theo các thông lệ lập trình không tốt

Sẽ ít vấn đề hơn khi mã chứa lỗi cú pháp hoặc nếu nó hoàn toàn vô nghĩa, bởi vì điều đó rất dễ phát hiện. Tuy nhiên, mã thoạt nhìn có vẻ hợp lý vẫn có thể không chính xác và chứa lỗi logic. Do đó, bạn đừng bao giờ tin tưởng GitHub Copilot mà không xem xét và kiểm tra cẩn thận mã mà nó tạo ra

Nói cách khác, GitHub Copilot là một công cụ có giá trị mà bạn nên có, nhưng bạn chắc chắn không nên chỉ dựa vào các đề xuất của nó khi xây dựng phần mềm quan trọng cho một nhà máy điện hạt nhân chẳng hạn

Đặt ra một rủi ro bảo mật tiềm ẩn

Vì mô hình học máy đằng sau GitHub Copilot đã được đào tạo trên các kho lưu trữ công cộng nên nó dễ bị tấn công. Một kẻ xấu có thể đã cố tình làm ô nhiễm tập dữ liệu đào tạo bằng mã độc hại có thể lừa mô hình đề xuất các mẫu tương tự trong trình chỉnh sửa mã của bạn. Điều này cũng có thể vô tình xảy ra do số lượng lớn mã trong dữ liệu đào tạo

Một lần nữa, hãy tự chịu rủi ro khi sử dụng GitHub Copilot

Làm dấy lên những lo ngại về quyền sở hữu trí tuệ

GitHub Copilot có thể vi phạm quyền sở hữu trí tuệ, đây là mối lo ngại nghiêm trọng nhất cho đến nay. Bởi vì nó tổng hợp mã dựa trên những gì nó đã thấy trước đó, nó có thể làm rò rỉ các thuật toán độc quyền từ các kho lưu trữ riêng, kho lưu trữ công khai có bản quyền hoặc thậm chí các kho lưu trữ nguồn mở với giấy phép không được phép

Ghi chú. Để sử dụng GitHub Copilot, bạn phải chấp nhận , nêu rõ rằng bạn đồng ý chia sẻ mã và dữ liệu nằm trong kho của bạn, bao gồm cả kho riêng tư của bạn, để cải thiện dịch vụ

Người tạo ra Flask, Armin Ronacher, gần đây đã trình bày trong một tweet về cách GitHub Copilot trích dẫn việc triển khai thuật toán của Quake đến từng chữ cái. Mặc dù mã được tạo ra là của John Carmack, nhưng GitHub Copilot đã đề xuất một giấy phép hoàn toàn ngẫu nhiên trên mã đó

Twitter của Armin Ronacher

Mã được tạo trong ví dụ trên thậm chí bao gồm nhận xét ban đầu có từ chửi rủa. GitHub tuyên bố có các bộ lọc tại chỗ về mặt lý thuyết sẽ chặn những từ như vậy. Họ cũng nên xóa thông tin nhạy cảm như khóa API hoặc địa chỉ email có thể đã vô tình được cam kết với GitHub. Tuy nhiên, bạn không bao giờ có thể biết chắc chắn

Khuyến khích gian lận

GitHub Copilot có thể là một công cụ học tập tuyệt vời nếu bạn đang muốn nắm bắt một ngôn ngữ lập trình, framework, thư viện hoặc API mới. Đồng thời, không quá khó để hình dung một số sinh viên lạm dụng GitHub Copilot để gian lận bằng cách sao chép và dán mô tả nhiệm vụ bằng tiếng Anh đơn giản và bài tập của họ được giải trong vài giây. Nhớ lại những gì bạn đã làm ở phần đầu của hướng dẫn này

Ngoài ra, những sinh viên không có ý định gian lận có thể tránh xa GitHub Copilot, vì nó có thể khiến họ lười biếng và không khuyến khích họ suy nghĩ độc lập. Giống như mọi công cụ mạnh mẽ khác, bạn có thể sử dụng GitHub Copilot cho mục đích đúng hoặc sai

Yêu cầu gói đăng ký

Một trong những phàn nàn phổ biến nhất về GitHub Copilot là nó yêu cầu đăng ký trả phí, điều này hạn chế số lượng người dùng tiềm năng. Nhiều người dường như khó chịu về việc bị tính tiền cho một công cụ được cho là đã được đào tạo về phần lớn mã nguồn mở

Để làm cho vấn đề tồi tệ hơn, phí cố định được cố định bất kể bạn ở đâu trên thế giới. Nó không tính đến sức mua tương đương, khiến việc đăng ký trở thành gánh nặng lớn hơn đối với khách hàng ở một số quốc gia so với các quốc gia khác. Giá cả có vẻ hợp lý nếu bạn đang hưởng lương kỹ sư ở một quốc gia có sức mua cao hoặc nếu công ty của bạn mua đăng ký với số lượng lớn. Nếu không, giá có thể rất dốc

Mặt khác, thật công bằng khi GitHub ít nhất cung cấp thời gian dùng thử và cung cấp dịch vụ có thể truy cập miễn phí cho các sinh viên đã được xác minh và những người bảo trì nguồn mở. Cuối cùng, mặc dù giá cả có thể quá cao đối với một số người, nhưng nhìn chung đó là một giá trị tốt cho những gì bạn nhận được, đặc biệt là khi xem xét chi phí bảo trì cơ sở hạ tầng cho một mạng lưới thần kinh khổng lồ như vậy. Rốt cuộc, nó yêu cầu một cụm phân tán để chạy và đạt được độ trễ thấp

Nếu bạn muốn tìm hiểu sâu hơn và tìm hiểu thêm về mô hình học máy cơ bản, hãy đọc bài viết gốc trên OpenAI Codex

Sự kết luận

GitHub Copilot là một công cụ hỗ trợ lập trình mang tính cách mạng có thể tăng tốc độ và năng suất của bạn với tư cách là một kỹ sư phần mềm. Nó giúp bạn tiết kiệm thời gian bằng cách tạo mã soạn sẵn và giúp bạn không phải đi sâu vào tài liệu. Bởi vì nó hiểu ngữ cảnh của dự án của bạn, các đề xuất tức thì mà bạn nhận được sẽ được thiết kế riêng và thường hoạt động theo cách bạn dự định

Trong hướng dẫn này, bạn đã học cách

  • Cài đặt tiện ích mở rộng GitHub Copilot trong trình chỉnh sửa mã của bạn
  • Chuyển đổi mô tả ngôn ngữ tự nhiên của một tác vụ thành mã làm việc
  • Chọn giữa nhiều đề xuất hoàn thành mã thông minh thay thế
  • Khám phá các framework và ngôn ngữ lập trình lạ
  • Hướng dẫn GitHub Copilot cách sử dụng API tùy chỉnh của bạn
  • Thực hành phát triển dựa trên thử nghiệm với một lập trình viên cặp ảo trong thời gian thực

Bạn nghĩ gì về GitHub Copilot?

Tải xuống miễn phí. Nhấp vào đây để tải xuống bảng cheat miễn phí gồm các phím tắt để viết mã với GitHub Copilot thậm chí còn nhanh hơn

Đánh dấu là đã hoàn thành

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Bartosz Zaczyński

Bartosz là người hướng dẫn bootcamp, tác giả và lập trình viên đa ngôn ngữ yêu thích Python. Anh ấy giúp sinh viên của mình tiếp cận công nghệ phần mềm bằng cách chia sẻ kinh nghiệm thương mại hơn một thập kỷ trong ngành CNTT

» Thông tin thêm về Bartosz

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Geir Arne

kate

Martin

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bậc thầy Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

GitHub có tốt cho Python không?

Mặc dù có rất nhiều nguồn để học Python, chẳng hạn như sách tham khảo, video hướng dẫn, trang web, nhưng bạn cũng có thể coi GitHub là một trong những nguồn đáng tin cậy để thực hiện mục tiêu của mình. . .

Làm cách nào để sử dụng Python với GitHub?

Để xuất bản dự án Python của bạn trên GitHub. .
Tạo tài khoản GitHub nếu bạn chưa có
Tạo một repo mới cho dự án của bạn. .
Trên trang repo mới tạo, nhấp vào “Quản lý chủ đề” và thêm các thẻ “python” và “python3” và/hoặc “python2” nếu thích hợp

Tôi có thể sử dụng Python trong các trang GitHub không?

Tạo blog với Pelican, nền tảng viết blog dựa trên Python hoạt động tốt với GitHub .

Làm cách nào để đọc dữ liệu trực tiếp từ GitHub bằng Python?

Phương pháp đầu tiên khá đơn giản. tất cả những gì bạn cần làm là đặt. tệp csv trong kho lưu trữ GitHub. Bây giờ, tất cả những gì bạn phải làm là nhập url của. tệp csv trong mã .

Chủ Đề