it-swarm-vi.com

Điều gì biện minh cho việc sử dụng IDE so với trình chỉnh sửa tiêu chuẩn?

Tôi thấy mình sử dụng trình soạn thảo văn bản của mình (vim, nano, gedit, chọn chất độc của bạn) thường xuyên hơn bất kỳ IDE vào cuối.

Sau khi nhận thấy các phím tắt ide của tôi trở nên bụi bặm, tôi bắt đầu suy nghĩ về điều này và tự hỏi: điều gì biện minh cho việc sử dụng IDE cho bạn trái ngược với trình soạn thảo văn bản?

Đối với vấn đề đó, bạn sẽ có lý do gì để không sử dụng IDE và chỉ dựa vào trình chỉnh sửa?

39
Chris

Chữ I: tích hợp. Một trình soạn thảo văn bản tốt có thể tốt cho việc viết mã, nhưng hầu hết chương trình của bạn không dành cho việc viết; nó đã dành để thử nghiệm và gỡ lỗi và vì thế bạn muốn trình soạn thảo văn bản của mình tích hợp với trình biên dịch và trình gỡ lỗi của bạn. Đó là sức mạnh lớn nhất của một IDE.

70
Mason Wheeler

Đây là những tính năng yêu thích của tôi về IDE yêu thích của tôi, IntelliJ, mà tôi thích sử dụng cho Java, PHP, Javascript, HTML, thậm chí là ActionScript.

  • Kiểm tra lỗi - Giống như kiểm tra chính tả trực tiếp cho mã. Hoàn toàn cần thiết.
  • Điều hướng mã - Ctrl+click trên một hàm, biến, gõ để đi đến định nghĩa. (IntelliJ là rất giỏi về điều này trong tất cả các ngôn ngữ trên)
  • Hoàn thành mã - Tôi sử dụng Ctrl+space liên tục để giúp điền vào tên lớp hoặc phương thức mà tôi cần. Điều này tăng tốc mã hóa một tấn và thậm chí giúp bắt lỗi trước khi chúng xảy ra khi một thứ bạn cần không thể truy cập được từ ngữ cảnh bạn đang ở. IntelliJ thậm chí sẽ giúp bạn mở rộng các từ viết tắt - gõ NPE, nhấn Ctrl+space và nó sẽ hiển thị "NullPulumException", "NoPageError", v.v. Đánh Alt+enter để tự động thêm import cũng thực sự tốt.
  • Tạo mã - Tạo getters và setters, thực hiện các phương thức từ một giao diện với một vài lần nhấp.
  • Rất tốt tô màu mã - IntelliJ không chỉ thực hiện từ khóa tiêu chuẩn, chuỗi, tô màu tên biến, mà còn tô màu các biến thành viên, biến cục bộ, tham số. Trong ActionScript, một biến thực sự là setter/getter sẽ được tô màu giống như một hàm.
  • Tái cấu trúc - Đổi tên không có lỗi là lớn nhất. IntelliJ rất giỏi trong việc đổi tên ngay cả setters và getters hoặc chuỗi sử dụng. Tất nhiên, có tìm kiếm dựa trên regex và thay thế khi bạn cần và tùy chọn "bảo quản trường hợp" để cho phép bạn thay thế "myNumber", "MyNumber" và "MYNUMBER" bằng "myString", "MyString" và "MYSTRING" trong một hoạt động
  • Tích hợp kiểm soát phiên bản - Chúng tôi sử dụng SVN và yêu thích của tôi IDE VC có thể tạo, xóa, di chuyển các lớp mà không cần nghĩ về SVN, dễ dàng duyệt lịch sử, một công cụ tìm khác rất tốt, khả năng hợp nhất tốt và chú thích các tệp (hiển thị lịch sử từng dòng) trong trình chỉnh sửa.
  • Nhập phụ thuộc - Khi dựa vào thư viện của bên thứ ba mà bạn có nguồn, bạn có thể điều hướng đến mã dễ dàng để tham khảo, gỡ lỗi, v.v.
  • Gõ thông minh - dán mã và để nó tự động dán vào vị trí tab bên phải, tự động hoàn thành dấu ngoặc cuối, dấu ngoặc đơn, dấu ngoặc kép, v.v.
  • Rất tốt Người chạy thử cho JUnit, FlexUnit, PHPUnit
  • Gỡ lỗi - tất nhiên. Gỡ lỗi JBoss, Jetty, thậm chí Flash hoàn hảo. Ctrl + nhấp vào dấu vết ngăn xếp để đi thẳng đến mã.

Những thứ như tô màu mã bạn có thể được cấp, nhưng tô màu mã tốt giống như tầm nhìn ngoại vi - nó cho phép bạn tập trung vào những thứ quan trọng mà không cần lấy thêm phần giây đó để xác định Word đầy đủ.

IntelliJ thậm chí còn sử dụng Ctrl+space để đề xuất tên biến. Trong Java, nếu bạn khai báo một biến EventMessageItem mới và nhấn Ctrl+space, nó sẽ gợi ý "eventMessageItem", "eventMessage", "item", v.v.

Tất cả những điều này cho tôi cách nhiều thời gian hơn để suy nghĩ về mã và kiến ​​trúc của tôi và suy nghĩ ít hơn về sửa lỗi định dạng, xử lý hệ thống tệp, sửa bản sao -và dán lỗi, chuyển đổi giữa các ứng dụng, tìm kiếm tài liệu, v.v. Tôi không biết làm thế nào bạn có thể nói không với loại tăng năng suất đó.

49
Nicole

IDE hiểu mã của bạn tốt hơn nhiều so với trình soạn thảo. Ví dụ, điều này cho phép hoàn thành và tái cấu trúc định danh, đối với các ngôn ngữ dài dòng như Java là một gửi thần,

21
user1249
[To the IDE] You had me at intellisense/autocomplete
18
JohnFx

Năng suất. Có bất kỳ biện minh nào khác có ý nghĩa? Đối với tôi, một IDE được thiết kế tốt, tập trung rất nhiều chức năng mà tôi thực hiện trong khi lập trình - tạo và chỉnh sửa mã, sử dụng kiểm soát nguồn, gỡ lỗi, tương tác với các công cụ quản lý dự án, giao tiếp với các lập trình viên khác, tạo tài liệu, chạy thử nghiệm tự động - giảm đáng kể ma sát quá trình làm giảm năng suất của tôi.

Ngoài ra, mặc dù tôi cảm thấy cần phải biết cách sử dụng từng công cụ riêng lẻ, tôi không muốn phải làm vậy. Đối với tôi ít nhất, nhấp chuột phải hoàn toàn thích hợp hơn để mở CLI và gõ.

Tôi đã sử dụng nhiều, nhưng các IDE mà tôi quay lại nhiều lần là Visual Studio, Wing IDE và NetBeans. Tất cả đều tăng giá trị đáng kể cho thời gian tôi dành cho lập trình.

14
Adam Crossland

Trong lịch sử, các IDE cung cấp sự tiện lợi chưa từng có trên một máy tính hoạt động đơn lẻ. Trình biên dịch C đầu tiên của tôi yêu cầu các bước sau trong chu trình chỉnh sửa-biên dịch-chạy:

  • Bắt đầu biên tập
  • Chỉnh sửa chương trình
  • Lưu chương trình, thoát khỏi trình chỉnh sửa
  • Chương trình biên dịch
  • Lắp ráp chương trình biên dịch
  • Liên kết chương trình biên soạn và lắp ráp
  • Chạy chương trình

trên hệ thống CP/M của tôi. (Tôi có thể tự động hóa phần lớn vì chương trình hàng loạt có ổ đĩa của tôi lớn hơn.)

Khi tôi có Turbo Pascal, tôi rất vui khi có thể giữ trình soạn thảo có sẵn trong khi biên dịch và gỡ lỗi.

Điều đó, tôi tin rằng, là những gì làm cho IDE phổ biến ở nơi đầu tiên.

9
David Thornley

Nếu bạn viết mã trong LISP, Emacs có các khả năng giống như Intellisense như tìm kiếm các tham số phương thức và tự động hoàn thành, vì vậy bạn có thể nói đó là IDE gốc. Thật tuyệt khi có thể sử dụng một chương trình cho nhiều tác vụ (chỉnh sửa nói chung, Nhắc/lệnh Prompt, đọc tin tức).

Nói chung, trình soạn thảo so với IDE dường như phụ thuộc vào ngôn ngữ lập trình. Từ những gì tôi đã thấy, Ruby và bộ mã hóa Haskell, chẳng hạn, dường như thích trình soạn thảo văn bản yêu thích của họ.

7
Larry Coleman
  • Biên dịch bằng một cú nhấp chuột
  • Gỡ lỗi
  • Mẫu mã
  • Hoàn thành mã
  • Tích hợp với các công cụ tái cấu trúc và kiểm soát phiên bản
  • Kiểm tra đơn vị đơn giản

đến tên một vài

4
ysolik

Tôi nghĩ rằng câu trả lời sẽ phụ thuộc rất nhiều vào ngôn ngữ lập trình bạn đang sử dụng và mức độ giỏi của bạn. Đối với các ngôn ngữ như Java an IDE là bắt buộc nếu bạn đang làm bất cứ điều gì nghiêm trọng. Bất cứ khi nào nói đến các ngôn ngữ kịch bản như JS hoặc Ruby IDES không được sử dụng nhiều.

Tôi sử dụng notepad ++ và một tập lệnh Shell (để sao lưu, cam kết git) cho sự phát triển của tôi và nó hoạt động hoàn toàn tốt.

3
Eastern Monk

Một số đối số có lợi cho "biên tập viên":

  1. Có những trường hợp IDE chưa được phát triển hoặc sẽ không bao giờ.
  2. Với trình chỉnh sửa, bạn có thể thay đổi "nhanh hơn" và phẫu thuật hơn.
  3. Nó cần ít tài nguyên hơn (vì vậy dễ sử dụng nhiều mở cùng một lúc)
  4. Bởi vì đó là cách duy nhất để giải quyết một số vấn đề như những gì được mô tả ở đây .
  5. (cá nhân) Đôi khi khi tôi phải gõ tất cả mọi thứ, tôi đang làm việc nhiều hơn bằng cách sử dụng sự thích thú của mình và tham gia nhiều hơn vào những gì tôi đang gõ. Nhiều lần tôi đã tìm thấy ví dụ một lỗi chính tả trong một phương thức (formaqString), mà sẽ không được chú ý khi sử dụng IDE.
  6. Nó làm cho nó dễ dàng hơn để làm việc chỉ với việc sử dụng bàn phím (tốc độ/lưu lượng)
  7. Mentality của việc sử dụng macro hoặc tiết kiệm thời gian khác.

Tôi sử dụng một IDE mỗi ngày để làm việc, rất khó để viết Java/C # nếu không.

(2) so với (3): Về cơ bản chỉ có tùy chọn chỉnh sửa tệp từ xa (trên ssh/máy tính để bàn từ xa) và thực hiện các thay đổi tối thiểu đối với cấu hình hoặc tệp của máy chủ ở xa.

3
Dimitrios Mistriotis

Tôi sử dụng IDE để kiểm tra/gỡ lỗi/tích hợp và KEDIT để chỉnh sửa vì IDE thiếu nghiêm trọng về khả năng chỉnh sửa.
[.__.] Vì .NET IDE nhận ra các chỉnh sửa bên ngoài, tất cả những gì tôi cần làm là lưu trong trình chỉnh sửa và chấp nhận Lời nhắc để tải lại nguồn. Điều này cho phép tôi tối ưu hóa chỉnh sửa của mình và khả năng gỡ lỗi cùng một lúc.
[.__.] Đối với các IDE khác, tôi sử dụng KEDIT làm bộ xử lý mẫu và chương trình tìm kiếm nguồn và sao chép/dán nguồn đó vào IDE.

2
Dave

Tất nhiên tùy thuộc vào ngôn ngữ của bạn, một số IDE cũng bao gồm các nhà thiết kế Form/Window trực quan.

Mặc dù cần phải chỉ ra, dòng giữa trình soạn thảo văn bản của lập trình viên và IDE không phải là một định nghĩa rõ ràng. Nhiều trình soạn thảo có thể được mở rộng để xử lý biên dịch, hoàn thành mã, gỡ lỗi, v.v.

2
GrandmasterB

Đối với IDE:
[.__.] - các tính năng nâng cao được kết nối có sẵn.
[.__.] - một số tính năng rất cụ thể cho khung của bạn mà các biên tập viên không có tương đương.

Đối với biên tập viên:
[.__.] - Giữ bàn tay của bạn trên bàn phím.
[.__.] - môi trường dev của bạn giống nhau trên tất cả các hệ thống
[.__.] - kịch bản tốt hơn cho trình soạn thảo của bạn
[.__.] - một số tính năng của IDE có sẵn với các công cụ hoặc tập lệnh bên ngoài. (intellisense, goto định nghĩa, tìm tài liệu tham khảo)

1
mike30

Đường cong học tập ngắn. Đó là nó.

0
nate c

Người duy nhất tôi thực sự khuyên dùng là trình gỡ lỗi. Một IDE thực sự là một trình soạn thảo có tải các gubbins khác được thêm vào, nhưng nếu bạn có thể biên dịch bằng cách nhập make (hoặc mũi tên lên + enter) trong lệnh Nhắc, thì bạn không - cần một IDE. Nếu bạn có thể cam kết với SCM bằng cách nhấp chuột phải vào Explorer và chọn mục menu phù hợp, bạn không cần IDE.

Bây giờ tôi biết một số người cần các công cụ như hỗ trợ tái cấu trúc (viết mã của bạn ngay lần đầu tiên :)) hoặc một số nhà thiết kế GUI tích hợp (nhưng ngay cả khi đó, sử dụng Visual Studio tôi sử dụng Expression để thực hiện công việc GUI của mình, không phải là hỗ trợ XAML xảo quyệt trong VS ) và nhiều người cần intellisense và autocomplete (đặc biệt đối với các ngôn ngữ dài dòng như Java và C # có tên godallmightlylong).

Nhưng đối với tôi, trình gỡ lỗi GUI là lý do thực sự tốt để sử dụng IDE. Tôi vẫn sử dụng trình gỡ lỗi 'dòng lệnh' (tốt, Windbg) nhưng hàng ngày, nó là bản dựng sẵn cho VS.

0
gbjbaanb

Có những lợi ích cho một IDE. Không phải tất cả các ngôn ngữ đều có toàn diện IDE để thực sự vượt qua quy mô hoặc rất khó để tạo một ngôn ngữ cho ngôn ngữ đã nói. Lý do tại sao lại muốn có IDE? Hãy bắt đầu với những điều này:

  • Ngôn ngữ có API tiêu chuẩn phong phú mà trong IDE cửa sổ bật lên có thể giúp tăng tốc độ phát triển.
  • Có rất nhiều mã nồi hơi. (Buộc thử/bắt, getters/setters, v.v.)
  • Tự động hoàn thành có thể đáp ứng chính xác nhu cầu mã hóa của bạn
  • Bộ kiểm tra đơn vị ngôn ngữ của bạn được tích hợp vào IDE nói.
  • IDE nhận thức và hỗ trợ nhiều thư viện phổ biến ngôn ngữ liên quan đến thực tiễn tốt nhất.
  • Plugin có sẵn để thực hiện mo'betta
  • Nó không quá nặng đến nỗi làm chậm hệ thống của bạn
  • Trình gỡ lỗi tích hợp cao? Những sự giúp đỡ đó.

Vấn đề là không phải tất cả các ngôn ngữ thực sự đạt được mức tăng năng suất lớn từ một IDE toàn diện. Tôi sử dụng IDE cho một số công việc tôi làm (Java, C #) nhưng không phải cho các công việc khác (Python, Ruby, Coldfusion). Tất cả thực sự là một hành động cân bằng. Một số ngôn ngữ không yêu cầu một bộ toàn diện như vậy.

Có IDE cho mỗi? Chắc chắn rồi. Bạn luôn cần một cái? Không hẳn vậy.

0
Rig