البرمجة

تصميم واختبار فئة الموظف في لغة البرمجة C#

في بداية الأمر، يظهر أن لديك تصميمًا جيدًا لفئة الموظف (Employee)، حيث قمت بتعريف المتغيرات اللازمة والخصائص والبناء والطريقة المخصصة (ToString). ومع ذلك، يبدو أن هناك بعض الأمور التي يجب مراجعتها في كود اختبار الفئة الثانية (EmployeeProgram).

أولًا، يظهر أن لديك فئة EmployeeProgram، ولكن يفضل تسمية الفئات بأسماء توضح الغرض الخاص بها. في هذا السياق، قد يكون مناسبًا تسمية الفئة الثانية بشكل يدل على أنها تستخدم لاختبار فئة الموظف، على سبيل المثال EmployeeTest أو EmployeeTester.

ثانيًا، في الداخل، يجب عليك إنشاء كائن من فئة الموظف (Employee) لتقوم بالاختبار عليه. يمكنك فعل ذلك بإنشاء كائن من الفئة Employee في الفئة EmployeeProgram. ومن ثم استدعاء الأساليب التي قد تعينك على اختبار الفئة. على سبيل المثال:

csharp
class EmployeeProgram { static void Main(string[] args) { // إنشاء كائن من فئة الموظف Employee employeeObject = new Employee(456, "Joyce", "12/15/14", 3200, "Manager", "Accounting"); // اختبار الفئة من خلال طباعة بيانات الموظف employeeObject.Print(); } }

ثالثًا، يبدو أنه قد يكون هناك خطأ في بناء الفئة Employee, حيث أنك تعرف بناءً يأخذ متغيرات، لكنك تقوم داخل البناء بتعيين قيم صلبة للمتغيرات. يفضل تعديل البناء ليأخذ المتغيرات كمدخلات ويستخدمها بدلاً من القيم الثابتة. على سبيل المثال:

csharp
public Employee(int employeeNumber, string name, string dateOfHire, int monthlySalary, string description, string department) { this.employeeNumber = employeeNumber; this.name = name; this.hiredate = dateOfHire; this.monthlySalary = monthlySalary; this.description = description; this.department = department; }

بعد إجراء هذه التعديلات، يجب أن يكون بإمكانك اختبار فئة الموظف بنجاح.

المزيد من المعلومات

بالطبع، دعونا نوسّع قليلاً على الموضوع. لنقم أولاً بتنظيم الكود بشكل أفضل. يمكننا استخدام فئة اختبار منفصلة لتنظيم الشيفرة وجعلها أكثر قابلية للفهم. هنا كيف يمكن تنظيم الشيفرة:

csharp
using System; namespace EmployeeProgram { public class Employee { // تعريف متغيرات الفئة private int employeeNumber; private string name; private string hiredate; private int monthlySalary; private string description; private string department; // بناء الفئة public Employee(int employeeNumber, string name, string dateOfHire, int monthlySalary, string description, string department) { this.employeeNumber = employeeNumber; this.name = name; this.hiredate = dateOfHire; this.monthlySalary = monthlySalary; this.description = description; this.department = department; } // تعريف الخصائص public int EmployeeNumber { get { return employeeNumber; } set { employeeNumber = value; } } public string Name { get { return name; } set { name = value; } } public string Hiredate { get { return hiredate; } set { hiredate = value; } } public int MonthlySalary { get { return monthlySalary; } set { monthlySalary = value; } } public string Department { get { return department; } set { department = value; } } public string Description { get { return description; } set { description = value; } } // تعديل طريقة ToString لتعيين جميع بيانات الموظف public override string ToString() { return $"Employee ID: {employeeNumber}\nEmployee Name: {name}\nEmployee Hire Date: {hiredate}\nEmployee Monthly Salary: {monthlySalary}\nEmployee Description: {description}\nEmployee Department: {department}"; } // إضافة طريقة للطباعة public void Print() { Console.WriteLine(this.ToString()); } } // فئة اختبار public class EmployeeTester { static void Main(string[] args) { // إنشاء كائن من فئة الموظف Employee employeeObject = new Employee(456, "Joyce", "12/15/14", 3200, "Manager", "Accounting"); // اختبار الفئة من خلال طباعة بيانات الموظف employeeObject.Print(); } } }

تم تقسيم الشيفرة إلى فئتين، حيث تحتوي الفئة الأولى على الفئة Employee وتعريف البناء والخصائص وطريقة ToString و Print. الفئة الثانية EmployeeTester هي فئة الاختبار التي تحتوي على Main وتقوم بإنشاء كائن من Employee واختبار طباعة بيانات الموظف.

هذه التنظيمات تساعد في جعل الشيفرة أكثر قابلية للفهم وصيانة.

زر الذهاب إلى الأعلى