[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: أخطاء هل منكم من بلغ عنها؟؟
- To: "Documentation and Translation" <doc at arabeyes dot org>
- Subject: Re: أخطاء هل منكم من بلغ عنها؟؟
- From: "moayyad sadi" <alsadi at gmail dot com>
- Date: Sun, 24 Feb 2008 09:41:32 +0200
أن لا تزال تفكر بطريقة مرئية
عندما تفكر يجب أن تفكر بطريقة منطقية لا مرئية
أي لا تنظر إلى الأقواس على أنها قوس أيمن وأيسر
إنها بداية ونهاية
أما ميّزة mirror
فهي لعملية rendering
مشكلتنا أننا لا ندرك النص هو string
سلسلة نصية
أي حبل متسلسل
من رموز يونيكود
عندما تكتب قوس أيمن في ويندوز ثم كلمة ثم قوس أيسر
فإن ما يتم حفظه هو
بداية قوس
ثم الكلمة
ثم نهاية القوس
إذا وضعت كلمة إنجليزية مكان العربية فإنها لن تصبح هكذا
)word(
بل ستظل
(word)
لأنها هكذا محفوظة بداية ونهاية
وليس أيمن وأيسر
يجب أن تتوقف عن التفكير بالطريقة المرئية
إن أكثر ما أكرهه في بعض البرامج هو الحركة المرئية للأسهم
إن الحركة المرئية للأسهم تعني أن السهم الأيمن يجب أن يتحرك لليمين
والسهم الأيسر يجب أتن يتحرك لليسار
قد يبدو هذا مناسباً
سطحياً لكن عند العمل الجاد في البرمجة
حيث يكون هناك نص معقد هكذا
w.set("title","العنوان".strip().replace("ان","د"))
ضع المؤشر على أول السطر
ثم جرب أن تتحرك فيه من بالأسهم إلى آخر النص
إذا كنت تعمل بطريقة مرئية يجب أن تنظر بعد كل زر إلى المؤشر
cursor
وترى هل ذيله لليمين أم لليسار
فإذا كان لليسار ضغط الأيسر
وإن كان لليمين ضغط الأيمن
أما إن كان مرئي فأنت
تضغط السهم الأيمن بغض النظر عن كل شيء
لأنه ليس أيمن بل تالي
السهم التالي منطيقياً
والسهم السابق منطقياً
إن القيام بالتعامل مع نصوص معقدة
إنجليزية مثل code
مرصعة بكلمات عربية
يصبح كابوساً
إذا كان العمل على الأسلوب المرئي
مثلاً إذا كنت سأكتب
foo("كلام").replace(" ","\t")
فبعد أن تكتب
كلام
يجب أن تنظر هل تريد طباعة أغلاق الوقس قبل أم بعد الضغط
على ALT+SHIFT
لأنك تطبع أيمن وأيسر بالطريقة المرئية
في حين لوكان بالطريقة المنطقية فإنك تطبع إغلاق وبغض النظر إن كانت لوحة
المفاتيح عربية أم لا
فإن إغلاق القوس هو فوق 0
بكل بساطة
دون أن أفكر هل أغلق القوس بعد أم قبل تبدليل اللغة