Comments (20)
من پیشنهاد رو رد نکردم. منتها این مورد به خصوص یه چیزیه که تا آخر باهاش گیر میکنیم :) شاید بد نباشه یکم به آپشنهای مختلف فکر کنیم.
پیشنهاد من اینه که یه کلید درست کنیم توی فایل یمل اصلی، بعد اون کلید اینجوری باشه
partial_key: a_string_unique_in_this_month_in_english
# Example
partial_key: nowrouz
وقت پابلیش نهایی میشه این تو فایل اصلی :
key: jalali_0101_nowrouz
یعنی یه بخشش ساخته میشه و یه بخشش بر مبنای ورودیه.
from cal-events.
from cal-events.
from cal-events.
بزرگترین مشکل این روش اینه که اگه بخوایم یه رویداد رو منتقل کنیم نمیشه. بر فرض یه روزی بخوای کل رویدادهای ایران اسلامی رو بفرستی تو یه تقویم دیگه.
و البته به نظر من ترتیب اصلا مشخص نیست و امکان جابجایی هست.وابستگی به ترتیب منطقی نیست.
from cal-events.
هدف کلید اینه که یک چیز ثابت باشه از الان برای همیشه،البته بعد از اینکه نسخه یک رو ارایه کنیم دیگه تغییرش نمیدیم.
اینه که من دنبال یه روش انسانی بودم. مثلا برای روز اول نوروز
newrouz
یا یه همچین چیزی. بعدش هم کلید کافیه که تو یه تقویم یکتا باشه نه تو سراسر تقویمها.
مزیت روش تو اینه که میشه اعتبار سنجیش کرد و بحثی هم توش نیست.
from cal-events.
چرا این کلید ها مرتب نیستن؟ تو بیشتر فایل ها این چنین هستن پشت سر هم نیست
مثلا تو فروردین صفر و یک و دو هست بعد رویداد بعدی رفته چهار ، دلیل خاصی داره این شکلیه؟
from cal-events.
نه حقیقتش. یه سورس داشتم که مرتب نبود، یه اشتباهی هم از طرف من اتفاق افتاد و سورت اشتباهی شد، اینه که ترتیبش اینجوریه.
ولی باید حل شه.
from cal-events.
پس فکر کنم یه ایشو براش درست کنیم اگه به من اساین کنید من همه و مرتب میکنم
from cal-events.
ممنون، ولی یه سری مشکل هست
۱- اگه بعدا خواستیم وسطش یه چیزی اضافه کنیم چی؟ یا حتی اگه حذف بخوایم بکنیم.
۲- این کلید چه کمکی میکنه؟ مزیتش اینه میشه براش اعتبار سنجی گذاشت، ولی خوانا نیست و بعدا هم مطمئنم برای هر ویرایشی باید کلی ریویو بزنیم که کلیدش درست نیست درستش کن.
۳- وقتی تقویمها جدان اضافه کردن شناسه به کلید واقعا لازمه؟ مثلا ما تقویم جلالی رو کاملا از هجری جدا میکنیم. چرا باید شماره بزنیم قبلش براش؟
من موافق داشتن کلید هستم، ولی کلید ترتیبی و عددی واقعا خوبه اینجا؟ مثلا اینکه بزنیم
nowruz1
بهتر نیست از
0101001
from cal-events.
از طرفی، نکته مهم اینه که کلید یه بار اضافه بشه و دیگه تغییر نکنه. یعنی نمیشه وقت درست کردن پوشه دیست ساختشون. تغییر شناسه رو خودتون قطعا میدونید چه دردسرهایی اضافه میکنه در دراز مدت خصوصا اینکه این قراره رفرنس باشه .
from cal-events.
خوب درسته این مشکلات هست، ولی الان من مثلا میخوام کلید های ماه دی و کامل کنم از کجا بدونم مثلا کلید «۲ » تو هیچ ماه دیگه ای نیست؟ مگه اینکه برم دونه دونه ماه ها رو بگردم ببینم این کلید یونیک هست یا نه، مخصوصا اینکه کلید های ایونت ها رفرنس قراره باشن ، تکرای قطعا نباید باشن
from cal-events.
به طور کلی، سعی کنیم از شماره برای
enum
ها اجتناب کنیم بهتره. کامپیوتر مشکلی با هیچکدوم نداره و هم متن اوکیه براش هم شماره، ولی ما آدما متن رو بهتر میفهمیم و ما قراره این مخزن رو نگهداری کنیم نه کامپیوترها :)))
from cal-events.
اگه کسی نظری داره لطفا تا پایان امروز بگه، و اگر هم ممکنه با کمک ری اکشن های گیتهاب روی کامنت نظرتون رو بگید (یا کامنت بدید ، زیاد فرقی نداره )
@persiancal/cal-events-reviewer
from cal-events.
@fzerorubigd واسه طول
partial_key
محدودیتی هست؟
مثلا واسه روز بهره وری و بهینه سازی مصرف
efficiency_and_consumption_optimization_day
مناسب هست؟
from cal-events.
چون قرار هست خروجی محدود به زبان/فورمت خاصی نباشه به نظرم همون عدد بهتر هست چون تمام زبانهایی که من میشناسم راهکارهای سادهتری برای اعداد دارند و یکپارچه تر میشه.
از طرف دیگه معمولا هم از اعداد برای کلید دیتابیس استفاده میکنند٬ در صورتی که کسی بخواهد از این کلید استفاده کنه نیازی به مپ کردن ندارد.
البته هیچکدوم این موارد دلیل قاطعی نیست ولی به نظر درنهایت سروکله زدن با اعداد راحتتر میاد.
from cal-events.
برای اولی اصلا عدد مناسب نیست. برای دومی عدد مناسبترینه. پول ریکوئست رو ببین
from cal-events.
شاید بد نباشه که کلا کلید رو از اولی حذف کنیم و برای دومی جنیرت بشه٬ ترکیبی از تاریخ و ایندکس رویداد در اون روز.
فقط دو مورد رو باید فورس کنیم:
اول: هیچ رویدادی رو بعد ورود نمیشه حذف کرد که مطمئن نیستم چیز خوبی هست یا نه که البته در صورتی هم که در آینده مشکل ساز شد میشه برای موارد حذفی فلگ در نظر گرفت و مورد جدی نیست.
دوم: ورودی جدید همیشه باید در جایگاه درست یعنی بعد از آخرین رویداد ثبت شده اون روز وارد بشه. خوبی اینکار این هست که اطلاعات همیشه بر مبنای روز سرت شده هست و به بررسی و جلوگیری از ورود اطلاعات تکراری کمک میکنه.
from cal-events.
من موافق حذف کلید نیستم. دلیلی براش نمیبینم. یعنی چی میده که حذفش کنیم؟
در مورد ورود اطلاعات و سورت، مساله فقط روز و ماه نیست. اونایی که سال ندارن اول هستن بعد برمبنای سال سورت میشن. اگه مثلا امروز گفتن اول مهر ۴۲ یه مناسبت اضافه کردیم چی؟ چجوری ترتیب رو درست کنیم؟ من کلا مخالف ساختن کلید برمبنای چیزی هستم که نشه دیدش. ترتیب و ایندکس یکی از همین چیزهاست. باید بشمری، قابل دیدن نیست.
from cal-events.
من متوجه منظورت نشدم فرض بگیر اطلاعات فعلی اینطور هست
-
title: A
month: 7
day: 1
year: 1342 # which is optional, right?
-
title: B
month: 7
day: 1
-
title: C
month: 7
day: 5
حالا اگر بخواهیم یک مورد جدید برای روز اول ماه اضافه کنیم میشه:
-
title: A
month: 7
day: 1
year: 1342 # which is optional, right?
-
title: B
month: 7
day: 1
-
title: D
month: 7
day: 1
-
title: C
month: 7
day: 5
این خیلی راحت در دیف پول ریکوست قابل دیدن هست. چک کردنش که در جای درست وارد شده در یک نگاه مشخص میشه. کسی که داره چک میکنه میدونه:
اول: تاریخ ورودی زیریش باید بزرگتر باشه
دوم: برای اینکه مطمئن بشه ورودی تکراری نیست فقط باید موارد بالایی با تاریخ مشابه رو چک کنه و نیازی نیست کل فایل رو بگرده.
من اصرار نمیکنم ولی به نظرم قابل اجراست. میشه تا قبل از ورژن ۱ اینکارو کرد و اگر مشکلی پیش اومد به همین شیوه دستی یا چیز دیگه برگردیم.
from cal-events.
و همچنان بزرگترین ایراد من به این روش، متکی بودن به یه چیزیه که دیده نمیشه. مثل فاصله تو پایتون.
from cal-events.
Related Issues (20)
- ماه مه، تقویم میلادی HOT 2
- ماه ژوئن، تقویم میلادی HOT 6
- ماه ژوئیه، تقویم میلادی HOT 4
- ماه اوت، تقویم میلادی HOT 2
- ماه سپتامبر، تقویم میلادی HOT 2
- ماه اکتبر، تقویم میلادی HOT 2
- ماه نوامبر، تقویم میلادی HOT 4
- ماه دسامبر، تقویم میلادی HOT 9
- رویداد ها نسبی اکتبر HOT 1
- دیتا هارو از پروژه زبان گو جدا کنید HOT 2
- Multiple branch HOT 1
- رویداد های مهم بدون صفحه مستقل ویکی پدیا HOT 1
- قالب برای نمایش رویدادها HOT 25
- روزهای تعطیل HOT 1
- Change the month structure HOT 4
- Static API HOT 5
- روز جهانی تعاون در ماه ژوئیه HOT 1
- good afternoon,哈哈,相逢即是缘
- استاندارد سازی با ICU HOT 1
- فرمت به صورت json
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cal-events.