سؤال

أنا طالب علوم الكمبيوتر تصميم مشروع وبدأت أتساءل ما هي أمثلة جيدة أو البرامج، أو حتى الأجهزة التي يتمتع بها الخط بين ميزة بوجود ميزة غنية مع ميزات صالحة للاستعمال للمستخدمين العاديين وأن تكون تخويف للمستخدمين الجدد. أيضا هل يمكن لأي شخص أن يوصي بأي نصائح / كتب جيدة لتصميم تطبيقات ذات نوعية جيدة ميزة غنية ولكنها غير "منفصلة"؟

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

المحلول

"اجعل كل شيء بسيط قدر الإمكان، ولكن ليس أكثر بساطة". - البرت اينشتاين

"يتم الوصول إلى الكمال ليس عندما لا يتبقى شيء لإضافته، ولكن عندما لا يكون هناك شيء يتبقى بعيدا." - أنطوان دو سانت إكزوبيري


أنا لا أحاول أن أكون مضطرا ولكن هذه الأسعار هي حقا أفضل نصيحة. يجب أن تكون بساطة التصميم هدفك. ليس هذا هو تحقيق البساطة أمر سهل! على العكس من ذلك، فمن الصعب للغاية ولكن هذا ممكن.

حاول التفكير في الأشياء بطريقة مختلفة بعض الشيء. بدلا من

كم من الأشياء التي يمكنني إضافتها قبل أن يصبح هذا مخادئا؟

يحاول

ما هي أقل عدد من الميزات والعناصر التي يمكنني تضمينها أثناء توفر تجربة فائقة لمستخدمي؟

نصائح أخرى

إليك مجموعة جيدة من الشرائح من عرض تقديمي حول الموضوع: إنقاذ الأميرة 2.0..

يجب أن يكون الترتيب الأول للعمل فقط الحفاظ على التطبيق سهل الاستخدام. أبعد من ذلك، كل ما يمكنني قوله هو، حذار من ميزات الكتابة لمستخدم وهمي: تأكد من أن شخصا يحتاجه فعلا قبل أن تبدأ الترميز.

كإجابة مباشرة على سؤالك: إلى حد كبير أي منتج Microsoft. أظهر لي التحيز هنا، لكن مايكروسوفت لديها ميل قوي لإبقاء الكائنات الخاصة بهم، وأضف ميزات أعلى الميزات حتى يتم فقد الوظيفة الأصلية للتطبيق تقريبا تحت التلال من Cruded CrUD.

انظر إلى MS Word، على سبيل المثال؛ على الرغم من أنه لا يزال بإمكانك فتحه فقط والبدء في الكتابة، إلا أن الله لا تمنح إذا كنت ترغب في إعادة ترقيم قسم من وثيقتك أثناء مغادرة الراحة وحدها. تمنح الجنة إذا كنت ترغب في إنشاء جدول محتويات يتضمن مراجع إلى ملحق. هذا النوع من الأشياء هو شيء هو de rigeur لمعالجات النصوص، ويدعم الكلمة ذلك، فإنه يدعم ذلك فقط بطريقة لا يمكنك الحصول عليها دون وجود دليل، عدة أكواب من القهوة، والضمادات لإيقاف النزيف من ضجيجك رئيس على المكتب.

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

1: ماذا يحتاج المستخدمون، وتريد، و

2: ما هي الميزات التي ستكون لديك وقت لتنفيذها؟

سؤالك عام جميل. ما هي الميزات التي تشكل تنفيا؟ هذا النوع من ذلك يعتمد على ما إذا كنت تكتب ماسحة مكافحة الفيروسات أو نظام تشغيل أو معالج نصوص.

لا يوجد حاجز واضح بين "جيد" و "الكثير". ومع ذلك، فإنه يعتمد على ما تريد القيام به.

إذا كنت تقوم بتطوير SDK، أوصي بتقسيم تنفيذك في العديد من المكتبات الصغيرة (بدلا من مكتبة SDL كبيرة واحدة فقط، فهناك جوهر SDL، SDL_Mixer, SDL_Image, ، إلخ.)

إذا كنت تقوم بتطوير تطبيق، احتفظ بنظام يستند إلى وحدة نمطية وآلية سداسية. بهذه الطريقة، يمكن إضافة ميزات جديدة بسهولة أكبر ويمكن اكتشافها بسهولة أكبر.

قد تصل إلى نقطة حيث ستضيف ميزات جديدة، وسوف ينظر البعض إلى بعض "رائعة" وغيرها "Bloat". خلاف ذلك، قد يصل طلبك إلى نقطة سيتصل فيه البعض بأنه "فقراء" وسيطلب الآخرون "فقط بما فيه الكفاية".

هذا ليس اقتباس دقيق، لكن الفكرة كانت شيئا مثل هذا:

قطعة من البرامج مثالية وليس عندما لا يكون هناك شيء أكثر للإضافة، ولكن عندما لا يكون هناك شيء أكثر لإزالة.

في جوهرها، فإن أبسط وأكثر to-the-toint هي برنامج، كلما كان ذلك أفضل.

للحصول على أمثلة على تصميم البرامج الجيد، نلقي نظرة على البرامج التي تحظى بشعبية اليوم. ستكون تطبيقات Google مكانا رائعا للنظر. سكايب ربما. هيه، حتى Stackoverflow. :)

إذا كنت تريد تخويف، فانتقل إلى عالم CAD. تحقق من مثال الخلاط. وبعد هذا برنامج مصمم ثلاثي الأبعاد مجاني. أداة جيدة أخبرتني، لكن واجهة المستخدم لديها الكثير من الأزرار / الألواح / القوائم / إلخ. أنها تجعل الأرانب الطفل البكاء. لسوء الحظ، لا أستطيع أن أقول إذا كان هذا هو مثال جيد على واجهة مستخدم "سيئة". تصميم ثلاثي الأبعاد هو جدا العملية المعقدة وجميع هذه الأدوات ربما في المكان المناسب. لكنها بالتأكيد تخويف. :)

غالبا ما يتم العثور على تصميم سيء واجهة المستخدم مع برامج للبروتات التي تأتي مع أجهزة بروتاء. لسوء الحظ، لا أستطيع أن أعطيك أي أمثلة من أعلى رأسي.

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

ربما لا يعمل هذا جيد جدا لتطبيقات واجهة المستخدم الرسومية التي يجب أن تكون صالحة للاستخدام الجيد دون تكوين كبير، لكنني أشعر بخير مع هذا النهج لتلك النهج لليبي. (يتم استخدامها من قبل المبرمجين الآخرين الذين يحبون الحصول على قطعة برامج تعبيرية للغاية)

ليس من الصعب للغاية تطوير تطبيق / ليب يتم تبريده بميزات. ولكن من خلال تطوير تطبيق يمكن توسيعه بسهولة من قبل المطورين الآخرين / المستخدمين لمطابقة احتياجاتهم الخاصة.

قم بتطوير نظام سداسي واسع النطاق بحيث تضيف وأخرج الأشياء في أي وقت. تم حل المشكلة. إذا كان ذلك سهلا مثل كتابة رمز السباغيتي. ؛)

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