پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

انجام پروژه به زبان پایتون

پنج سال پیش منتشر شده

تعداد بازدید: 206

کد پروژه: 149417


شرح پروژه

سلام

پروژه یک ابزار به زبون پایتون هست که باید کد برنامه اندروید رو بگیره توی اون یک سری تغییرات ایجاد کنه که این تغییرات در نهایت منجر به کاهش مصرف باتری اون برنامه بشه. به عبارتی میخوایم ابزارمون کد رو به صورت اتوماتیک refactor کنه و این refactor کردن رو هم با هدف کاهش انرژی یا همون باتری انجام بده.

یک سری anti pattern تعریف شدن که وجود اونها توی کد برنامه باعث بالا رفتن مصرف انرژی میشه. لیست این anti patternها که حدودا 20 مورد هست رو بهتون میدم. این anti patternها 2 نوع هستند. دسته اول مربوط به کدهای جاوایی برنامه میشه و دسته دوم مربوط به layoutهای برنامه اندرویدی میشه.

نحوه کار ابزار به این شکل هست که باید 2 مرحله کار انجام بده

1: پیدا کردن این anti patternها توی برنامه (به صورت اتوماتیک)

2: حذف کد مربوط به anti patternها و جایگذاری اونا با کد مناسب (این هم به صورت اتوماتیک)

بذارید با یک مثال بیشتر توضیح بدم. کلاس خیلی بزرگ یا به عبارتی God Class یک anti patternئه که این ابزار ما باید اونو تشخیص بده و به جاش اون رو به کلاس های کوچیکتر مناسب بشکنه.

توضیح مرحله 1: حالا برای تشخیص دادن این  anti pattern ها لازمه یک گراف چندلایه بسازه و با استفاده از metricهایی که بهتون اعلام میکنم (با استفاده از تئوری گراف) و منطق فازی اون ها رو پیدا کنه. گراف چندلایه باید به این شکل باشه که گره های لایه 1 باید کلاس ها باشن و ارتباط بین کلاس ها (ارث بری و ...) باید به صورت یال بین این گره ها ترسیم بشن . گره های لایه 2 باید فانکشن های برنامه باشن و ارتباط بین فانکشن ها (فراخوانی ها) به صورت یال ترسیم بشن. حالا هر فانکشن زیرمجموعه هر کلاسی که هست باید بین گره فانکشن (توی لایه 2) و گره کلاس والدش (توی لایه 1) یک یال عمودی ترسیم بشه. به این ترتیب گرافمون هم یال های درون لایه ای داره و هم بین لایه ای. لایه 3 هم متغیرها  هستن که مشابه ارتباطی که در بالا توضیح دادم گره ها و یال هاش رسم میشه.

حالا زمانیکه گراف رو ساختیم با استفاده از منطق فازی میگیم مثلا اگر درجه ی خروجی یک گره در لایه کلاس ها از یک حدی بیشتر باشه اون جا anti pattern مربوط به God Class رخ داده.

از انجایی که anti patternهامون 2 نوع هستن برای پیدا کردن نوع اول که مربوط به کدهای جاوا است از گراف فوق و برای پیدا کردن نوع دوم که مربوط به layoutهای اندرویدی هستند از یک گراف طرح بندی با همون layoutها استفاده میشه. 

توضیح مرحله 2: بعد از اینکه هر anti pattern رو پیدا کرد اون رو با جایگزین درستش جایگذاری میکنه.

در آخر هم وقتی ابزار، کار refactor کردنش تموم شد یک گزارش از کارهایی که انجام داده(لیست anti patternهایی که پیدا کرده و اصلاح کرده به همراه تعدادشون و محلشون) رو گزارش بده

مهارت ها و تخصص های مورد نیاز


مهلت برای انجام

7روز

وضعیت مناقصه

بسته


درباره کارفرما

عضویت نه سال پیش

13712 پروژه ثبت شده ،
73 پروژه در حال انجام ،
0 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 36%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

متأسفانه مهلت ارسال پیشنهاد این پروژه به پایان رسیده و پروژه بسته شده است؛ اما فرصت‌های متعددی در سایت موجود می‌باشد.

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار