Python Hints
8.64K subscribers
173 photos
11 videos
9 files
142 links
Python tips and tricks
The Good, Bad and the Ugly

توی این کانال فقط قرار هست در مورد core python صحبت کنیم.

این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی بیش از ۱۰ سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار)

Admin: @Abbasi_ai
Download Telegram
Forwarded from RandRng
دارم فصل ۱۰ کتاب Rust web programming 3rd edition رو ریویو می‌کنم، این بخش بهترین نکته‌ای هست که داره.
👍8
Forwarded from RandRng
خیلی پست‌های مختلف می‌بینم که می‌گن؛ لایه logic, data, view, .... رو از هم جدا کنید و ازین حرفا (طرف ۲ هفتس کلین کد خونده) که نکته خیلی خوبی هست اما نه همه جا

و خیلی وقتا هم کد دستم اومده که دیدم؛ طرف زده get_repository بعد این رو گذاشته توی یک پوشه و فایل دیگه
میرم کد رو می‌خونم می‌بینم ۱ خط کد نوشته یک return ساده.

این مدل جداسازی مزخرف‌ترین کاری هست که می‌تونید انجام بدید.

نکته‌اش توی کتاب بالا هم هست؛
دولوپر بعدی، بیچاره میشه تا ذهنش رو دور این چیزا سر و سامون بده و متوجه بشه فایل‌ها و ... چطوری به هم ارتباط داره

repository= .....

همون کار رو می‌کنه؛ ۱۰۰ برابر خواناتر و تمیزتر‌ هست و در صورت رشد کردن کدش؛ توی refactor جدا خواهد شد.

بعضی وقتا آدما برای clean code زدن، گند میزنند توی خوانایی و حتی clean بودن پروژه چرا چون clean code رو فقط در سطح یک اسکریپت بهش نگاه می‌کنند در سطح کل پروژه.


مثال دیگر:
این رو زیاد می‌بینم؛

cleaned_text = preprocess(mytext)

بعد میرم توی مسیری که گفته شده:
utils/preprocessing.py

def preprocess(text:str):
return text.strip()

ببین ذهن من چقدر باید اذیت بشه که توی توسعه کدهای بعدی یادش باشه که اینکار رو برای یک strip ساده انجام بده.
حالا فرض کنید یک پروژه ۱ میلیون خط کدی؛ اینطوری نوشته شده باشه!

بنظرتون این پروژه clean code هست یا shit code ؟!

یادتون نره؛ refactor پنالتی نیست، بلکه نشون می‌ده شما به کد و پروژه زیر دستتون اهمیت می‌دید!
من ترجیح میدم
text = input.strip()
رو داشته باشم و وقتی این تمیز کاری دیتای ورودی بزرگتر شد اونوقت اون رو جدا کنم.
👍232
Forwarded from RandRng
#موقت
وسط توضیح برق رفت

utils/preprocessing.py:
def preprocessing(text: str) :
return text.strip()

utils/__init__.py
```python
```

from utils.preprocessing import preprocess

...
cleaned_text = preprocess(text)
...

این میزان کدی هست که باید برنامه نویس بعدی توی ذهنش نگهداره 👆

بجای :

text = input.strip()

حالا اینو ضربدر ۱۰۰ یا ۱,۰۰۰ کنید برای یک پروژه توی اسکیل استاندارد.
👍224