PDA

View Full Version : ابهام کدنویسی ساده یا پیشرفته



sm_1366
دوشنبه 24 آذر 1399, 02:03 صبح
دوستان سلام
من یه برنامه حسابداری نوشتم
و از کدهای خیلی ساده ای توش استفاده کردم
با اینکه برنامم کامل جواب میده و قراره ان شالله وارد شرکتی بشه اما وقتی اینجا کدهای عجیب غریبی میبینم دچار تردید میشم نکنه کدهای من استاندارد نیستنذ
من برنامه رو با سطح خیلی پایین نوشتم اما جواب گرفتم
کسی هست توضیح کلی راجع به نوع کد زدن و تاثیرشون روی برنامه بگه؟

RaiNStrom
دوشنبه 24 آذر 1399, 10:05 صبح
سلام دوست عزیز.
سوالتون رو دقیقتر بپرسید تا اساتید بتونن کمکتون کنن

the king
دوشنبه 24 آذر 1399, 12:20 عصر
دوستان سلام
من یه برنامه حسابداری نوشتم
و از کدهای خیلی ساده ای توش استفاده کردم
با اینکه برنامم کامل جواب میده و قراره ان شالله وارد شرکتی بشه اما وقتی اینجا کدهای عجیب غریبی میبینم دچار تردید میشم نکنه کدهای من استاندارد نیستنذ
من برنامه رو با سطح خیلی پایین نوشتم اما جواب گرفتم
کسی هست توضیح کلی راجع به نوع کد زدن و تاثیرشون روی برنامه بگه؟
شما نمی توانید با کد غیر استاندارد برنامه ای بنویسید، چون کامپایلر / مفسر ای که کد رو پردازش می کنه فقط کدی رو قبول می کنه که استاندارد زبان رو رعایت کرده.
پس کدی که نوشته اید خارج از استاندارد زبان نیست، ممکنه یک کد نمونه خیلی بدی داشته باشه ولی هر چی هست غیر استاندارد نیست.

اما می توانید کد منظم و اصولی بنویسید، یا کد شلخته و غیر اصولی.
کدی که هر کسی با نگاه اول بتونه روالش رو تشخیص بده، یا کدی که بعد یک مدت خودتون هم برای درک منطق اش با مشکل مواجه بشوید.
می توانید کد مطمئنی بنویسید که خطاهای احتمالی، امنیت، امکان ارتقاء و ... رو در نظر بگیره یا کد نامطمئنی که به سادگی با مشکل مواجه بشه یا رفع ایراد و ارتقاء اش مشکل باشه.

بین سادگی کد و ویژگی های برنامه مثل کارایی و امنیت و دقت و ... ارتباط مستقیمی نیست.
یک کد ساده میتونه خیلی سریع اجرا بشه، یا اجرایی خیلی کندی داشته باشه. درست و دقیق باشه، یا غیر دقیق و باگ دار باشه. خیلی ایمن باشه، یا خیلی نامطمئن.

سادگی به تنهایی همیشه مزیت ئه، ای کاهش همیشه میشد کد ساده نوشت، اما جاهایی برای رعایت یکسری اصول، روال ساده ای وجود نداره و ناچاریم کد پیچیده ای بنویسیم.
مثلا اگر شما فرض کنید که دسترسی به فایل هیچوقت با خطا روبرو نمیشه یا ورودی کاربر هیچوقت اشتباه نیست، یا داده ها همیشه کم حجم هستند، طبعا کد ساده تری می نویسید.
ولی در کدی که اصولی نوشته شده مدام باید حواسمون به این باشه که فلان ورودی باید حتما اعتبار سنجی بشه تا معتبر باشه، هر عملیاتی ممکنه با خطا روبرو بشه، حجم داده به مرور افزایش پیدا می کنه و ...

این تفاوت ها در درجه اول تاثیر روی ارزش پروژه داره.
تاثیر روی میزان راحتی کاربر برنامه داره.
تاثیر روی انعطاف پذیری و کارایی برنامه داره، مخصوصا به تدریج که داده بیشتری در برنامه ثبت میشه.
میزان اطمینان و امنیتی که برنامه داره.
زمان و هزینه ای که بعدا باید صرف رفع اشکال، بروز رسانی و ارتقاء برنامه بشه.
امکان بکارگیری مجدد کد برنامه در سایر پروژه ها.
و خیلی چیز های دیگه.

sm_1366
دوشنبه 24 آذر 1399, 17:44 عصر
شما نمی توانید با کد غیر استاندارد برنامه ای بنویسید، چون کامپایلر / مفسر ای که کد رو پردازش می کنه فقط کدی رو قبول می کنه که استاندارد زبان رو رعایت کرده.
پس کدی که نوشته اید خارج از استاندارد زبان نیست، ممکنه یک کد نمونه خیلی بدی داشته باشه ولی هر چی هست غیر استاندارد نیست.

اما می توانید کد منظم و اصولی بنویسید، یا کد شلخته و غیر اصولی.
کدی که هر کسی با نگاه اول بتونه روالش رو تشخیص بده، یا کدی که بعد یک مدت خودتون هم برای درک منطق اش با مشکل مواجه بشوید.
می توانید کد مطمئنی بنویسید که خطاهای احتمالی، امنیت، امکان ارتقاء و ... رو در نظر بگیره یا کد نامطمئنی که به سادگی با مشکل مواجه بشه یا رفع ایراد و ارتقاء اش مشکل باشه.

بین سادگی کد و ویژگی های برنامه مثل کارایی و امنیت و دقت و ... ارتباط مستقیمی نیست.
یک کد ساده میتونه خیلی سریع اجرا بشه، یا اجرایی خیلی کندی داشته باشه. درست و دقیق باشه، یا غیر دقیق و باگ دار باشه. خیلی ایمن باشه، یا خیلی نامطمئن.

سادگی به تنهایی همیشه مزیت ئه، ای کاهش همیشه میشد کد ساده نوشت، اما جاهایی برای رعایت یکسری اصول، روال ساده ای وجود نداره و ناچاریم کد پیچیده ای بنویسیم.
مثلا اگر شما فرض کنید که دسترسی به فایل هیچوقت با خطا روبرو نمیشه یا ورودی کاربر هیچوقت اشتباه نیست، یا داده ها همیشه کم حجم هستند، طبعا کد ساده تری می نویسید.
ولی در کدی که اصولی نوشته شده مدام باید حواسمون به این باشه که فلان ورودی باید حتما اعتبار سنجی بشه تا معتبر باشه، هر عملیاتی ممکنه با خطا روبرو بشه، حجم داده به مرور افزایش پیدا می کنه و ...

این تفاوت ها در درجه اول تاثیر روی ارزش پروژه داره.
تاثیر روی میزان راحتی کاربر برنامه داره.
تاثیر روی انعطاف پذیری و کارایی برنامه داره، مخصوصا به تدریج که داده بیشتری در برنامه ثبت میشه.
میزان اطمینان و امنیتی که برنامه داره.
زمان و هزینه ای که بعدا باید صرف رفع اشکال، بروز رسانی و ارتقاء برنامه بشه.
امکان بکارگیری مجدد کد برنامه در سایر پروژه ها.
و خیلی چیز های دیگه.

بسیار بسیااار ممنونم از پاسخ کامل شما

akrami123
دوشنبه 24 آذر 1399, 18:26 عصر
سلام
کد نویسی باید شرایط زیر را داشته باشد:
1- خوانایی بالا
2- الگوریتم مناسب با سرعت بالا
3- استفاده از کامنت ها
4- شی گرایی برنامه
5- استفاده از اسم های مناسب با توجه به نوع عملیات برای متغیر ها
6- استفاده از تورفتگی های کدها
و چند نکته دیگر
موارد بالا در اثر نوشتن کد زیاد بدست می اید و باید تجربه کنید
بعضی از اوقات فکر می کنید که برنامه درست اجرا می شود ولی در زمان تحویل کارفرما با دیدن برنامه تا یادش می آید که یک چیز در برنامه لحاظ نشده است. اگر موارد بالا رعایت شده باشد سریعتر اصلاحات انجام می شود در غیر اینصورت با مشکلات زیادی مواجه می شوید.
انشاالله مفید باشد

sm_1366
پنج شنبه 27 آذر 1399, 15:21 عصر
سلام
کد نویسی باید شرایط زیر را داشته باشد:
1- خوانایی بالا
2- الگوریتم مناسب با سرعت بالا
3- استفاده از کامنت ها
4- شی گرایی برنامه
5- استفاده از اسم های مناسب با توجه به نوع عملیات برای متغیر ها
6- استفاده از تورفتگی های کدها
و چند نکته دیگر
موارد بالا در اثر نوشتن کد زیاد بدست می اید و باید تجربه کنید
بعضی از اوقات فکر می کنید که برنامه درست اجرا می شود ولی در زمان تحویل کارفرما با دیدن برنامه تا یادش می آید که یک چیز در برنامه لحاظ نشده است. اگر موارد بالا رعایت شده باشد سریعتر اصلاحات انجام می شود در غیر اینصورت با مشکلات زیادی مواجه می شوید.
انشاالله مفید باشد


با سلام و ممنون از توضبح مرتب و کامل سما
امکانش عست در مورد کزینه ۲ و ۴ یکم بیشتر برامون بگید؟
مخصوصا راجع به سرعت ...
یعنی کدها باید چه شرایطی رو دلشته باشن که سرعت برنامه ذپ ببرن بالا و‌چه‌ چیزهایی سرعت ذو کند میکنه
چه‌ مدل کد زدن؟