ما هي أفضل طريقة لاستخدام وحدة التحكم عند التطوير؟

StackOverflow https://stackoverflow.com/questions/32537

  •  09-06-2019
  •  | 
  •  

سؤال

بالنسبة للغات البرمجة النصية، ما هي الطريقة الأكثر فعالية لاستخدام وحدة التحكم عند التطوير؟هل هناك طرق لتكون أكثر إنتاجية باستخدام وحدة التحكم بدلاً من لغة "الترجمة والتشغيل" فقط؟

توضيح مضاف:أفكر أكثر على غرار Ruby وPython وBoo وما إلى ذلك.اللغات المستخدمة للتطبيقات الكاملة، ولكن لديها أيضًا طريقة لتشغيل مقتطفات صغيرة من التعليمات البرمجية في وحدة التحكم.

هل كانت مفيدة؟

المحلول

أفكر أكثر على غرار روبي، ...

حسنًا بالنسبة لروبي irb تعد المطالبة التفاعلية أداة رائعة "لممارسة" شيء بسيط.إليك الأشياء التي سأذكرها عن irb لإعطائك فكرة عن الاستخدام الفعال:

  • أتمتة.مسموح لك أ .irbrc الملف الذي سيتم تنفيذه تلقائيًا عند تشغيل irb.وهذا يعني أنه يمكنك تحميل مكتباتك المفضلة أو القيام بذلك أيا كان تريد روبي الكامل تلقائيا.لمعرفة ما أعنيه، تحقق من بعض منها في dotfiles.org.

  • الإكمال التلقائي.وهذا يجعل كتابة التعليمات البرمجية أسهل.ألا تتذكر طريقة السلسلة هذه لإزالة الأسطر الجديدة؟ "".ch<tab> تنتج الفرم والقضم بصوت عالي. ملحوظة:يجب عليك تمكين الإكمال التلقائي لـ irb بنفسك

  • فرق تسد.Irb يجعل الأشياء الصغيرة سهلة حقًا.إذا كنت تكتب دالة لمعالجة السلاسل، فإن القدرة على اختبار الكود بشكل تفاعلي مباشرة في الموجه يوفر الكثير من الوقت!على سبيل المثال، يمكنك فقط فتح irb وبدء تشغيل الوظائف على سلسلة مثال والحصول على كود عمل واختباره جاهز بالفعل لمكتبتك/برنامجك.

  • التعلم والتجريب والقرصنة.سيستغرق شيء مثل هذا وقتًا طويلاً جدًا للاختبار في C/C++، وحتى Java.إذا حاولت اختبارها جميعًا مرة واحدة، فقد تخطئ وتضطر إلى البدء من جديد.

    هنا أنا فقط أتعلم كيف String#[] تعمل الوظيفة.

    joe[~]$ irb
    >> "12341:asdf"[/\d+/]
    # => "12341"  
    >> "12341:asdf"[/\d*/]
    # => "12341"  
    >> "12341:asdf"[0..5]
    # => "12341:"  
    >> "12341:asdf"[0...5]
    # => "12341"  
    >> "12341:asdf"[0, ':']
    TypeError: can't convert String into Integer
      from (irb):5:in `[]'
      from (irb):5
    >> "12341:asdf"[0, 5]
    # => "12341"  
    
  • الاختبار والقياس.الآن أصبحت جميلة وسهلة الأداء. هنا هي فكرة شخص ما لمحاكاة يونكس time وظيفة لقياس سريع.فقط أضفه إلى الخاص بك .irbrc الملف ودائما هناك!

  • تصحيح الأخطاء - لم أستخدم هذا كثيرًا بنفسي ولكن هناك دائمًا القدرة على تصحيح أخطاء التعليمات البرمجية مثله.أو اسحب بعض التعليمات البرمجية وقم بتشغيلها في IRB لترى ما يفعله بالفعل.

أنا متأكد من أنني أفتقد بعض الأشياء ولكنني وصلت إلى النقاط المفضلة لدي.ليس لديك حقًا أي حدود في الأصداف، لذا فأنت مقيد فقط بما يمكنك التفكير في القيام به.لدي دائمًا عدد قليل من القذائف قيد التشغيل.Bash، وJavascript، وRuby's irb على سبيل المثال لا الحصر.أنا استخدامها لكثير من الأشياء!

نصائح أخرى

أعتقد أن ذلك يعتمد على وحدة التحكم.تتضاءل فائدة وحدة تحكم CMD على نظام التشغيل Windows مقارنة بوحدة تحكم Powershell.

لم تذكر نظام التشغيل الذي تستخدمه ولكن في Linux كنت أستخدم مدير نوافذ مبوب (wmii) لمدة عام أو نحو ذلك وقد غيّرت طريقة استخدامي للتطبيقات بشكل جذري - وحدات التحكم أو غير ذلك.

غالبًا ما يكون لدي أربع وحدات تحكم أو أكثر وتطبيقات أخرى على سطح مكتب افتراضي ومع wmii لا أضطر إلى العبث بتغيير حجم النوافذ لضبط كل شيء على هذا النحو.يمكنني إعادة ترتيبها بشكل تافه في أعمدة رأسية، وتكديسها عموديًا، وجعلها تتقاسم كميات متساوية من المساحة الرأسية أو الأفقية، ونقلها بين الشاشات.

لنفترض أنك فتحت وحدتي تحكم على سطح المكتب.ستحصل على هذا (مع الاعتذار عن العمل الفني cronkey):

 ----------------
|                |
|       1        |
|                |
 ----------------
 ----------------
|                |
|       2        |
|                |
 ----------------

الآن أريدهم جنبًا إلى جنب.أدخل SHIFT-ALT-L في النافذة 2 لتحريكه لليمين وإنشاء عمودين:

 -------  -------
|       ||       |
|       ||       |
|   1   ||   2   |
|       ||       |
|       ||       |
 -------  -------

الآن يمكنني فتح وحدة تحكم أخرى والحصول عليها

 -------  -------
|       ||   2   |
|       ||       |
|       | -------
|   1   | -------
|       ||   3   |
|       ||       |
 -------  -------

ثم أرغب في عرض وحدة التحكم 3 بكامل ارتفاعها مؤقتًا، لذلك قمت بالضغط على ALT-s فيها واحصل على:

 -------  -------
|       | -------
|       ||       |
|   1   ||   3   |
|       ||       |
|       ||       |
 -------  -------

تم تكديس وحدات التحكم 2 و3 الآن.

يمكنني أيضًا إعطاء علامات Windows.على سبيل المثال، في وحدة التحكم 2، يمكنني أن أقول ALT-SHIFT-twww+dev وستكون وحدة التحكم هذه مرئية في سطح المكتب الافتراضي 'www' و'dev'.(يتم إنشاء أجهزة سطح المكتب إذا لم تكن موجودة بالفعل.) والأفضل من ذلك، يمكن أن تكون وحدة التحكم في تكوين مرئي مختلف (على سبيل المثال، مكدسة ومليئة بالشاشة) على كل من أجهزة سطح المكتب هذه.

على أي حال، لا أستطيع تحقيق العدالة لمديري النوافذ المبوبة هنا.لا أعرف ما إذا كان ذلك مناسبًا لبيئتك، ولكن إذا أتيحت لك الفرصة لتجربة طريقة العمل هذه، فمن المحتمل أنك لن تنظر إلى الوراء.

لقد أضفت اختصارًا إلى مجموعة المفاتيح Control-Shift-C الخاصة بي لإظهار وحدة تحكم Visual Studio 2008 الخاصة بي.لقد وفر لي هذا وحده عددًا لا يحصى من الثواني عند الحاجة إلى تسجيل ملف dll أو القيام بأي أمر آخر.أتخيل أنه إذا قمت بالاستفادة من ذلك باستخدام أداة أوامر أخرى، فقد تحصل على بعض الزيادات الهائلة في الإنتاجية.

هل أنت تمزح؟

في بيئة Linux الخاصة بي، وحدة التحكم هي شريان حياتي.أنا ماهر في البرمجة النصية لـ bash، لذا فإن وحدة التحكم بالنسبة لي تشبه إلى حد كبير الجلوس في REPL لـ Python أو Lisp.يمكنك فعل أي شيء حرفيًا.

أنا في الواقع أكتب الأدوات التي يستخدمها فريقي في bash، ووحدة التحكم هي المكان المثالي للقيام بهذا التطوير.أنا حقًا أحتاج فقط إلى محرر كمخزن دعم للأشياء التي أكتشفها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top