Làm thế nào để tính toán bố trí bàn phím lý tưởng cho lập trình viên?


8

Tôi đang suy nghĩ về việc tạo ra một bố trí bàn phím mới để lập trình. Bây giờ tôi chủ yếu lập trình bằng HTML, JavaScript / jQuery / CoffeeScript, CSS / LESS / SASS, mặc dù tôi có thể sớm học được shell script & RegEx, có lẽ là LUA, C ++ và Java trong vài năm nữa. Tôi muốn có bằng chứng khoa học cho các vị trí của khóa. Tôi có ý tưởng / yêu cầu, một số tự phát minh, một số lấy hoặc bắt nguồn từ những người khác:

  • Hầu như tất cả các phím có thể được sắp xếp lại
    • RETURN , Shift trái , KIỂM SOÁT trái , thanh SPACE , & TAB cần ở lại, nhưng tất cả những thứ khác, bao gồm số, ký hiệu và phím di chuyển đều mở để di chuyển
    • Có thể là tối ưu để nghỉ zxcv & perhhaps s ở lại tại chỗ, do chung Undo / Cut / Copy / Paste / Lưu thói quen :)
    • Khóa XÓA có khả năng được chuyển đến nơi có CAPS LOCK :)
    • Không có khả năng giữ các dấu ngoặc phù hợp như () {} [] <> cạnh nhau; xem bên dưới
  • Cách chính xác duy nhất IMHO để đếm việc sử dụng khóa là ghi nhật ký khóa, không phải là số lượng tệp chính:
    • Phần lớn "lập trình" là gửi email, đăng lên diễn đàn, twitter, báo cáo lỗi, lướt web, v.v.
    • Tôi tin rằng phần lớn việc sử dụng bàn phím là "chuyển động"; tab giữa các trường, trang xuống, con trỏ di chuyển xung quanh, vv Những thứ này không được ghi bởi đầu ra tệp
    • Nhiều trình soạn thảo sử dụng tự động hoàn tất & macro, vì vậy các dấu phân cách gần gũi :))]] có thể không được gõ thường xuyên như các trình mở, do đó chỉ ghi nhật ký khóa và không phân tích tệp sẽ chính xác.

Vì vậy, câu hỏi của tôi:

  1. Các keylogger phần mềm mã nguồn mở / miễn phí an toàn là gì , sẽ không tải lên các tệp trừ khi bạn tự gửi một tệp riêng? Tôi không muốn thu thập tên và mật khẩu đăng nhập, không chỉ vì bảo mật mà còn vì điều đó có thể ném phân tích IMHO của tôi.
  2. Những chương trình nào có thể được sử dụng phía máy khách để tiêu hóa số lượng khóa đơn & cặp? Hoặc làm thế nào để xây dựng tốt nhất?
  3. Nơi nào là tốt nhất để tìm tình nguyện viên để giúp đỡ?

Nghiên cứu tốt nhất cho đến nay: http://www.michaelcapewell.com/projects/keyboard/layout_capewell.htmlm

http://virusintrospection.wordpress.com/c Category / tĩ / keyboard-layouts /

& Wikipedia: Keyboard_layout # Non-QWERTY_keyboards_for_Latin_scripts

TIA!


Một câu hỏi thú vị, nhưng hãy để tôi đề xuất một trong những câu hỏi của riêng mình: chúng ta có nên từ bỏ cách bố trí thanh sô cô la so le mà chúng ta đã sử dụng trong nhiều thập kỷ cho một thứ hoàn toàn khác không?
Ignacio Vazquez-Abrams

Bạn có nghĩa là Ignacio chuyển sang một bố cục hoàn toàn mới như bàn phím Contoured của Kinesis với giá $ 300USD? Không, chỉ cần ánh xạ lại các phím trong bàn phím giá rẻ hiện có trong một cửa hàng bình thường với giá 5-20 đô la.
tomByrer

Nếu bạn đã quen với bàn phím QWERTY (hoặc khác) tiêu chuẩn, có thể sẽ hiệu quả hơn nếu chỉ sử dụng nó, thay vì học một bố cục mới. Đặc biệt là nếu bạn sử dụng các máy tính khác, thường không có bố cục tùy chỉnh của bạn.
Bob

1
Nhân tiện, để mọi người nhận được trả lời, bạn cần ping chúng bằng @tomByrer chẳng hạn!
slhck

2
Tôi nghi ngờ rằng điều tốt nhất nên làm là giv <>{}[](và các khóa khác hiện đang yêu cầu thay đổi) các khóa riêng của họ - Tôi thực sự không coi mình là một lập trình viên, nhưng tôi biết đó là điều gây khó chịu nhất khi viết các tập lệnh bash.
evilsoup

Câu trả lời:


2

Sử dụng một chương trình như WhatPulse để ghi lại các phím nào được nhấn và bao nhiêu lần.

Sau khi hỏi trên mạng IRC FreeNode về cách kết hợp các tần số chính với nhau, một người dùng dẫn tôi đến đây:

  1. Nhận văn bản của bạn, chẳng hạn như (các) chương trình và sao chép chúng.
  2. Tới http://type.trmnl.org/
  3. Trong các nút, hãy chắc chắn bỏ chọn 'tự động khởi động với nội dung trong bảng tạm trên dán'
  4. Sau đó, dán chương trình của bạn vào hộp văn bản.
  5. Nhấn Cntrl + Shift + K, sẽ mở giao diện điều khiển.
  6. Gõ vào count_digraphs()và nhấn Enter.

Các kết quả được đọc như thế này: "ar" 7 17 10 "ra"có nghĩa là 'ar' đã được nhấn 7 lần, 'ra' được nhấn 10 lần và tất cả cùng nhau 'ar' và 'ra' đã được nhấn 17 lần cùng nhau


"Tùy chọn bổ sung: Ghi lại tần số gõ phím - Được giới thiệu trong WhatPulse phiên bản 1.7, điều này cho phép bạn theo dõi số lượng từng phím bạn đã nhấn." whatpulse.org/wiki/Program_Sinstall_Tab_2 Ngọt ngào, thaks @ekaj! Tôi cũng sẽ nhìn vào nó!
tomByrer

Tôi nghĩ rằng đây là giải pháp tốt nhất cho đến nay khi thiếu một keyloger xâm nhập hơn. Trở thành đa nền tảng & đầu ra XML / HTML là một điều may mắn. Điều duy nhất còn thiếu là hỗ trợ cho bigram / digram (chuỗi hai yếu tố liền kề). Lý luận: bằng tiếng Anh, không chỉ là 'ông' & 'th' cùng nhau chung, mà còn trong nhiều ngôn ngữ lập trình (như C ++, JavaScript, CSS) ' ; ENTER ' đang rất thường gõ với nhau. Vì vậy, nếu có một bản sao WhatPulse cho phép điều này, thì đó sẽ là tốt nhất. Trong khi đó, tôi sẽ gửi một đề nghị trên diễn đàn của họ.
tomByrer

1
@tomBowder đã cố gắng cập nhật câu trả lời cho bạn, hy vọng nó có ích .. và lưu ý, tôi chỉ có thể làm cho nó hoạt động trong FF, không phải IE hay Chrome .. không biết tại sao.
cutrightjm

Vâng, đó là hữu ích trong một số cách! Mã nguồn: "'Thật không may, ứng dụng này không hoạt động trong IE, sry.'"; IE đôi khi có cú pháp JS kỳ lạ.
tomByrer

4

Các phím để di chuyển trong trình chỉnh sửa thường được điều chỉnh để phù hợp với việc sử dụng hiệu quả nhất với QWERTY, vì vậy chúng chắc chắn sẽ cần phải được ánh xạ lại nếu bạn thay đổi bố cục phím và muốn sắp xếp tối ưu mọi thứ mà bạn cố gắng. Ví dụ, trong Vim, các nút HJKL được sử dụng vì một lý do với QWERTY và rất có thể sẽ cần phải được ánh xạ trở lại cùng một vị trí sau khi bản đồ khóa đã được sửa đổi.

Ý tôi là nó sẽ không giúp bạn nhiều trong việc theo dõi các phím di chuyển và chỉnh sửa và sử dụng nó làm cơ sở cho bố cục mới, vì chúng có thể dễ dàng cấu hình lại (trong bất kỳ trình soạn thảo nào đáng giá, và vì chúng ta đang nói về một lập trình viên bố cục, rất có thể chúng ta đang nói về Vim hoặc Emacs), không nên can thiệp vào vị trí của các phím chữ và đã được tối ưu hóa (một lần nữa: chúng ta không nói về Notepad).

Bạn đang cố gắng giải quyết một vấn đề là một cách không hiệu quả đối với năng suất , đặc biệt là đối với một lập trình viên , ** imho **. Sẽ có hiệu quả lớn hơn nhiều khi chỉ cần tìm hiểu thêm về các công cụ (một lần nữa: có thể là Vim / Emacs). Bạn sẽ thấy rằng ngày càng ít thời gian dành cho việc viết các ký tự khi lập trình và thời gian (nhưng hiệu quả hơn) được dành cho việc tự động hoàn thành, tự động gắn thẻ, tự động thụt lề, tra cứu định nghĩa chức năng nhanh, v.v. để làm tất cả điều này đã được điều chỉnh để cho phép hiệu quả, và việc tăng tốc độ lớn chỉ đơn giản là với sự quen thuộc. Do đó, tôi lập luận rằng một cách bố trí bàn phím khác là đúng về khả năng phá hủy tương đối cho năng suất , vì bạn đã có nhiềunăm tập thể dục QWERTY. Nếu cùng thời gian đào tạo phân tích được dành cho QWERTY khi những người chuyển đổi bố cục chi tiêu cho Dvorak, họ cũng sẽ nhận thấy sự tăng tốc. Tốc độ đi kèm với đào tạo rõ ràng.

Nếu bạn là một copywriter / dịch giả / tác giả / v.v., một người thực sự dành thời gian của mình để làm việc với nghĩa đen của các phím, thì một bố cục khác có thể giúp ích. Đối với một lập trình viên, mẹo tốt nhất thường là ít nhất là bố trí bàn phím tiếng Anh, vì các thành ngữ lập trình đã được định hình bởi các vị trí này và vị trí khóa của chúng (trên bố cục khóa cục bộ của tôi, @$[]{}~đều nằm sau AltGr khá tối ưu).

tldr: Dvorak / Colemak / ["điều tốt nhất tiếp theo kể từ bánh mì cắt lát"] (được cho là) ​​giải quyết một vấn đề chỉ dành cho những người nhập nhiều văn bản trôi chảy trong một ngôn ngữ cụ thể (thường là tiếng Anh). Đối với lập trình, các khóa cần thiết không bị hạn chế giống như ngôn ngữ, và do đó, nó đã được tối ưu hóa cho mục đích của nó ( không chỉ là "viết nhanh nhất có thể"; nó xây dựng nhiều hơn trên các hoạt động logic. Vim). Tôi tin rằng thời gian dành cho việc học các bố cục thay thế và sự nhầm lẫn chắc chắn xảy ra hết lần này đến lần khác chắc chắn không đáng để nỗ lực trong hầu hết các trường hợp (không chỉ là sự nhầm lẫn của bạn; những người khác ngồi ở cùng một thiết bị bạn sử dụng cuối cùng sẽ ném những thứ ở bạn), rất nhiều bao gồm cả lập trình viên.


Cảm ơn @ Daniel-Andersson vì những hiểu biết của bạn về Vim; thật hữu ích khi cân nhắc rằng một số biên tập viên cho phép ánh xạ lại phím di chuyển! Tôi phải tìm hiểu thêm về các công cụ của tôi. Tuy nhiên, tôi thực hiện ALOT chỉnh sửa với NHIỀU công cụ; các trình soạn thảo và hộp văn bản trực tuyến: các diễn đàn (như ở đây;), các ý chính, jsFiddle, GMail, Facebook, Twitter (không nên là một khóa đóng không thay đổi?) ... và các trình soạn thảo khác như Inkscape, SynthMaker, Live, v.v ... Tôi muốn thống nhất các phím tắt của mình càng nhiều càng tốt thông qua sơ đồ phím, sau đó đưa nó lên một bước cao hơn thông qua các cấu hình ứng dụng :)
tomByrer
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.