أعتقد أن معظم القراء ليس لديهم مشاكل في الرؤية ، لكنني أتساءل ماذا سيحدث إذا فشلت رؤيتهم. يجب أن تكون هناك صورة ، لكنني لا أراها ، لذا فإنني أريد للمهتمين بكيفية الشفرة دون النظر إلى الشاشة ، أن أطلب منهم قطة.
لقد حدث أنه منذ الطفولة لدي حدة البصر منخفضة للغاية. يبدو كما لو كنت أرى الصورة الكبيرة دون أي تركيز مع الكثير من الضوضاء.
أنا خريج معهد الرياضيات والميكانيكا وعلوم الكمبيوتر. الآن أقوم بتطوير تطبيق للتعرف على الأجهزة الطبية.
في نهاية المدرسة ، قررت الذهاب إلى الدراسة كمبرمج ، لقد أحببت حقًا وما زلت أحب العبث بجهاز كمبيوتر. لم أرغب فقط في استخدام الحرف اليدوية الخاصة بالأشخاص الآخرين ، ولكن أيضًا لمعرفة كيفية إنشاء التطبيقات بنفسي.
بحلول ذلك الوقت ، كنت بالفعل مستخدم Windows من ذوي الخبرة. من وجهة نظر مستخدم أعمى ، كنت أتحكم في الكمبيوتر بثقة باستخدام قارئي الشاشة ، والتي ستتم مناقشتها أدناه. من وجهة نظر المستخدم المرئي ، كنت أعرف ماذا وأين يمكنني أن أقوم بتعديله في النظام بحيث يعمل مرة أخرى ، وحتى أنه كان لدي أول دخل من ذلك.
لتسجيل النقاط من شاشة الكمبيوتر ، يتم استخدام تطبيقات خاصة (قارئات الشاشة) . تحت Windows ، الأكثر شعبية هي Jaws من Freedom Scientific و NVDA مفتوحة المصدر . . نظام Windows حتى في ذلك الوقت تم ترتيبه بالفعل بحيث كان من الممكن استخدامه بالكامل فقط باستخدام كلا قارئي الشاشة.
بطبيعة الحال ، عندما يتعلق الأمر باختيار السير أو إعادة تثبيت النظام ، كان عليك الحصول على مساعدة من الناس المبصرين.
في التطوير ، تبدو دائرة المشكلات مختلفة قليلاً.
كتابة التعليمات البرمجية
بالطبع ، يمكن كتابة الكود في المفكرة على نظام ويندوز ، لأنه يتم التعبير عنه بشكل جيد من قبل كل من Jaws و NVDA. ولكن خارج إطار Pascal ، حيث نقوم ، كقاعدة عامة ، بتدريس أساسيات البرمجة دون الإكمال التلقائي على الإطلاق.
جميع المهام التي قمت بها فقط على جهاز الكمبيوتر الخاص بي ، لأنني لم أرغب في تعذيب المشرفين في المختبرات من خلال تثبيت NVDA ، وأنا صامت بشأن سعر Jaws.
تم التعبير عن بيئة Pascal ABC بشكل كافٍ للنظرية التي تم تدريسها. إن محور قارئ الشاشة هو نقطة تجريدية تشير إلى مساحة واجهة المستخدم الرسومية التي يعبر عنها الآن قارئ الشاشة ، وهي تتلاءم بشكل جيد في مجال محرر النصوص ، وعندما تم تجميعها وإطلاقها بنجاح ، انتقلت إلى وحدة التحكم. إذا لم تنجح ، بدأت المعجزات باستخدام الحيل المختلفة لقارئ الشاشة ، والتي لن أفرط القارئ في هذه المقالة.
في نهاية دراسة هذا الموضوع ، تم تقسيم الكمبيوتر المحمول الخاص بي إلى غلاف والباقي ، وتوقف كل ذلك عن تطوري على Windows. الشيء الوحيد الذي يمكنني قوله من ما حاولت استخدامه لتطوير Windows على IDEs الخطير هو أن Visual Studio فقط يتم التعبير عنه عادة منذ الإصدار 2015. وتتوفر جميع الميزات المريحة ، مثل الإكمال التلقائي ، فقط باستخدام فكوك مدفوعة.
هكذا. هزم الكمبيوتر المحمول المؤمنين ، هناك حاجة إلى حصان حرب جديد.
الجهاز التالي كان لدي ماك بوك. أعرف أنها باهظة الثمن ، لكن أولاً كانت تلك السنوات التي تم فيها منح حوالي 30 ياروسلافل لشخص واحد من ماكينلي ، وثانيًا ، لم يكن الأمر ببساطة أكثر ملاءمة للمكفوفين.
منذ ذلك الحين ، وحتى الآن ، كنت أطور في Xcode ، تم التعبير عنه بشكل ممتاز باستخدام VoiceOver ، على الرغم من أنه محدود جدًا في اختيار لغة التطوير: C و C ++ و Objective-C و Swift. لا يهم كم كنت أحلم ببدء الكتابة الخراء في بيثون ، هذا لا ينجح. في Visual Studio for Mac ، لم يتم تسليم Python ، ويتم التعبير عن VSCode ، بغض النظر عن عدد المطورين الذين يغنون ، بطريقة من الأفضل عدم التعبير عن صوتهم. TE إذا لم يتم التعبير عن التطبيق ، فإن قارئ الشاشة إما يصدر صوتًا عن الحقول أو الأزرار الفارغة ، أو يكون صامتًا تمامًا ، في واجهة VSCode تبدو كأنها مزيج من العناصر غير المفهومة أو غير المرتبطة تمامًا أو النصف لا ينقر ، والنصف يعرض بعض الإطارات الجديدة في الطرف الآخر من النافذة.
عملية التنمية
لا تختلف بداية التطوير على الإطلاق عما يفعله الجميع: إنشاء مشروع ، إنشاء مستودع ، إذا لزم الأمر ، خاصة وأن Xcode GIT ينشئ المستودع نفسه.
كما قلت أعلاه ، فإن Xcode محدود في اختيار اللغة ، لذلك كقاعدة يمكنني استخدام C ++ أو Swift.
يقوم Xcode نفسه بإنشاء الملف الرئيسي ويصف الوظيفة الرئيسية نفسها.
مثل أي شخص آخر ، أقوم بإضافة ملفات حسب الحاجة ، لكن تلك ، والتي ، للأسف ، لا يمكن تجنبها في تطوير المشاريع المعقدة ، يتم إكمالها تلقائيًا ، بدءًا من مقتطفات من أجزاء مختلفة من الكود ، مثل أوصاف الصف أو الحلقات التي تسرع التطوير ، وتنتهي بـ أساليب أو وظائف فئة بأسماء جذابة طويلة يصعب الاحتفاظ بها في رأسك دون الوصول إلى الذاكرة البصرية.
التصحيح
يحتاج الرمز المكتوب إلى تصحيحه. حسنًا ، عندما انضم المشروع بعد كتابته ، بدأ البرنامج وعمله بشكل صحيح على الفور ، لكن متى كان ذلك؟
أولاً ، الأخطاء النحوية والدلالية وعلامات الترقيم. يتوفر مستكشف الأخطاء في Xcode ، وفي الوقت الذي يتم فيه تسليط الضوء على خطأ محدد ، فإنه ينقل مؤشر التحرير إلى السطر المرغوب فيه ، لكن من المؤسف أنه إما أنه لا يُظهر رقم الحرف الذي شاهدت فيه هذا الخطأ ، أو لم ينطق VO ، .
أريد أن أقول بشكل منفصل عن الأقواس ، على حد علمي ، يعاني المصاب أيضًا من الأقواس المفتوحة والمغلقة الإضافية ، لكن إذا كان الشخص المرتقب يمكن أن يحاول التعرف عليها بصريًا ، إذا كان لا يزال يتعلم شيئًا وليس الفوضى ، ولكن يكتب الكود ، فسوف يكتشف الارتباك . بدون عيون - هذا أمر سيء ، ومما يساعد جزئياً هو أن المقتطفات عادةً ما تتضمن العدد الضروري من الأقواس ، وأن IDE المهتم يغلق الأقواس إذا فتحها المستخدم ، لكن الأخطاء هنا ممكنة.
الطريقة الوحيدة هي فصل نص الوظيفة من البداية ، والبدء ، إذا كان الأمر كذلك ، في إعادة الجسم ، وما إلى ذلك مع كل فقرة من التعليمات البرمجية ، حتى يتم الكشف عن الدعامة.
تم تجميع المشروع ، وبدأ البرنامج ، وظهر [LLDB] في وحدة التحكم أدناه بدلاً من "البرنامج المنتهي والمطلوب" انتهى برمز الخروج: 0 "، لا يمكنني استخدام مصحح الأخطاء ذي المستوى المنخفض ، لذلك أرى هذا النقش بحيث يوجد شيء في منطق البرنامج ذهب خطأ.
نادراً ما يتم فهم رسائل المصحح. لذلك ، يمكنك وضع البرنامج بالكامل بنقاط انقطاع ، لكن من دون النظر إليه ، من الصعب للغاية فهم النقطة التي توقفت فيها ، أو في أي مكان تعطل البرنامج. لذلك ، أنا شخصياً أرتب استنتاجات مثل "test #" في أجزاء مختلفة من Main ، إذا لم يعرض التطبيق أي شيء ، إذا كان معروضًا ، أرتب الاستنتاجات حيث يتعطل التطبيق ، على سبيل المثال ، بدءًا من مدخل وظيفة مشبوهة ، وانظر إلى ما يصل إليه البرنامج ، وبعد ذلك يبقى فقط للقبض على الخطأ بين الاستنتاج الذي تم التوصل إليه وعدم الوصول إليه.
أثناء إجراء مهمة اختبار لشركة واحدة ، قمت بإتقان لوحة Variable View ، فهذه لوحة في منطقة المصحح ، والتي تعرض المتغيرات الحية إذا تم تعيين نقطة توقف ، وبفضلها قمت بتحليل json التسلسلي في قاموس ، مع مجموعة مضمن من القواميس.
التحكم في الإصدار
يمكن أن يعمل Xcode نفسه مع GIT ، ولكن هناك أفضل ما يمكن القيام به من خلال الجهاز.
محطة
يتم التعبير عن محطة على ماك ، يعني القياسية. بالطبع ، ليس من المريح عندما يتحدث VO عن النص المعروض بالكامل ، لكن باستخدام إمكانيات VO يمكنك الاستماع إلى الإخراج حسب الكلمات والخطوط وحتى الأحرف. حتى تتمكن من استخدام المحطة ، وحتى أحد محرري النصوص في وحدة التحكم ، فقد عبر عن صوت nano ببراعة. بالإضافة إلى ذلك ، تتيح المحطة الصوتية للمبرمجين المكفوفين استخدام مديري الحزم مثل Home brew أو cocoapods.
استنتاج
تواجه مشاكل في الرؤية ، يمكنك أن تصبح أو تظل مطورًا. يوجد عدد كاف من برامج الوصول إلى الشاشة المختلفة لأنظمة أساسية مختلفة: Jaws و NVDA و Narrator for Windows ، و orca في جنوم لنظامي Linux ، و VoiceOver على Mac ، ومحررات الشفرات التي يتم التعبير عنها ، مثل: Visual Studio على windows و Xcode على Mac. علاوة على ذلك ، هناك المزيد والمزيد من التقارير التي تضيف محررًا إلى بعض المحررين ، وأنا متأكد من أنه بمرور الوقت ، يمكن للمطورين الأعمى استخدام VSCode والأفكار الأخرى.
بالطبع ، اعتني ببصرك بكل طريقة ممكنة ، ولكن إذا حدث ذلك ، فلن تضطر إلى مغادرة المهنة ، فأنت بحاجة فقط إلى التكيف مع برامج الوصول إلى الشاشة واتخاذ مقاربي أو اختراع طريقتك الخاصة.
إذا كنت مهتمًا ، فاكتب في التعليقات ما هي مجالات التطوير التي تهتم بها بشكل أعمى ، وسأغطيها في المقالات المستقبلية. أفكر في الكتابة حول كيفية تطوير واجهة المستخدم الرسومية ، لكنني منفتح على اقتراحاتكم.