PDA

View Full Version : سوال در مورد نحوه کدنویسی حرفه ای تر



vbkaar
دوشنبه 28 بهمن 1392, 02:12 صبح
با سلام. سوال من این هست که افراد حرفه ای معمولا در asp.net کدام سبک کدنویسی رو انتخاب میکنند.چون همونطور که میدونید مثلا برای ساخت یک صفحه ثبت اطلاعات میشه هم کد رو در code behind نوشت و هم به صورت inline در داخل صفحه aspx کد رو نوشت.
سوال دومم این هست که آیا بهتره از کنترلهای تگ ASP استفاده کرد یا از عناصر html ؟
به طور کلی میخواستم بدونم کدام یک از این روشها در بین افراد حرفه ای و مخصوصا شرکتها مرسوم تر هست.
این موارد برام خیلی مهم هست لطفا اگر نظری در این مورد دارید بیان کنید.

Mohammad_dn
دوشنبه 28 بهمن 1392, 13:03 عصر
در مورد سوال اول فکر نمیکنم فرقی بکنه

اما در مورد سوال دوم باید بگم که معمولا از ابزار های ASP استفاده میشه چون دسترسی و مکاناتش بیشتره ... در ضمن فرق خواصی نمیکنه چون باز این تگ ها به تگ های معمولی ASP تبدیل میشن

aminaltavista
دوشنبه 28 بهمن 1392, 15:52 عصر
سعی کن از شی گرایی و mvc و Linq استفاده کنی.
اگه برات سرعت مهم هست از کنترل های سمت کلاینت استفاده کن چون بدون PostBack شدن برات کار میکنه و کارت رو سریعتر انجام میده.
برا Ajax از کنترل های خود Asp.net استفاده کن همه قابلیت ها رو خودش داره و بهتر از جی کوئری ایجکس هست (به نظر من)

ahmad156
دوشنبه 28 بهمن 1392, 17:58 عصر
هم کد رو در code behind نوشت و هم به صورت inline در داخل صفحه aspx کد رو نوشت

کدهاتون رو حتماً توی CodeBehind بنویسین.


سوال دومم این هست که آیا بهتره از کنترلهای تگ ASP استفاده کرد یا از عناصر html ؟

چون کنترل های ASP.NET سمت سرور یه هزینه Render دارن پس کاری که میتونین با کنترل های HTML انجام بدین بهتره با کنترل های ASP.NET انجام ندین.ولی کار کردن با کنترل های HTML یه خرده کارت رو بیشتر میکنه پس بهتره از همون کنترل های ASP.NET کنی چون تفاوت اونقدر نیست که بخوای خودت رو تو زحمت بندازی


باز این تگ ها به تگ های معمولی ASP تبدیل میشن

منظورتون همون کنترل های HTML هست دیگه:لبخندساده:


اگه برات سرعت مهم هست از کنترل های سمت کلاینت استفاده کن چون بدون PostBack شدن برات کار میکنه و کارت رو سریعتر انجام میده.

اگه PostBack نشه چه جور میخواین توی CodeBehind بهش دسترسی داشته باشین


برا Ajax از کنترل های خود Asp.net استفاده کن همه قابلیت ها رو خودش داره و بهتر از جی کوئری ایجکس هست (به نظر من)

گرچه نظرتون محترمه ولی خواهشاً سعی کنین نظرتون رو بر اساس ادله علمی بیان کنین.میشه برای این نظرتون دلیل بیارین

vbkaar
دوشنبه 28 بهمن 1392, 18:02 عصر
سعی کن از شی گرایی و mvc و Linq استفاده کنی.
اگه برات سرعت مهم هست از کنترل های سمت کلاینت استفاده کن چون بدون PostBack شدن برات کار میکنه و کارت رو سریعتر انجام میده.
برا Ajax از کنترل های خود Asp.net استفاده کن همه قابلیت ها رو خودش داره و بهتر از جی کوئری ایجکس هست (به نظر من)



ممنون. میشم یک مقدار بیشتر توضیح بدید؟ منظورم کنترلهای سمت کلاینت هست . آیا باید برای کدنویسی اونها رو به صورت runat=server تعریف کنم؟ آیا در این حالت باز هم کنترل سمت کلاینت به حساب میاد؟

راستش من همیشه به این صورت عمل میکردم که کدها رو در code behind مینوشتم و در طراحی هم از کنترلهای asp استفاده میکردم. ولی چند وقت پیش یکی از آشنایان که اونطور که میگفت حرفه هست از نحوه کد زدنم ایراد گرفت و بهم پیشنهاد کرد کدها رو به صورت inline بنویسم و از کنترلهای html استفاده کنم. در مورد ajax هم گفت که از ajax مایکروسافت استفاده نکنم!

Mohammad_dn
دوشنبه 28 بهمن 1392, 18:22 عصر
باز این تگ ها به تگ های معمولی ASP تبدیل میشن

خخخخ..الآن متوجه شدم که اشتباه کردم...بله منظورم همون html بود ....اشتباهی نوشتم...(دیگه انقدا هم مبتدی نیستم--اشتباه نسبتا تایپی بود:لبخندساده::خجالت:)

vbkaar
دوشنبه 28 بهمن 1392, 18:22 عصر
کدهاتون رو حتماً توی CodeBehind بنویسین.


ممنون از راهنمایی تون. من بیشتر منظورم از طرح این سوالات این هست که کدام یک از این روشها در بین برنامه نویسهای حرفه ای متداولتر هستش.
اگه امکانش هست نظرتون رو درباره Ajax هم بفرمایید.

aminaltavista
دوشنبه 28 بهمن 1392, 18:31 عصر
خیر.

ببین عزیز مردم حرف زیاد میزنند(تقلید از دیگران) اما بزار از تجربه خودم بگم.

میدونم که تو msdn مایکروسافت وحتی youtube گفته جی کوئری ایجکس. اما باور کن که من خیلی دنبالش کردم و برام کار نکرد. چرا میگم ابزار خود مایکروسافت ؟ چون بدون دردسر کارهایی رو که باید بشه انجامش میده، (دیگه چه انتظاری هست!) . برا کارهای معمولی مثل محاسبه طول ، پرش از یه تکست باکس به تکست باکس دیگه و کارهای ساده از کد کلاینت استفاده کن که مجبور به post back نشه. ضمنا باید بگم که کنترل های کلاینت به نوعی با دستورات کلاینتی(جی کوئری و سی اس اس) تعامل دارند و عکس العمل بیشتری نسبت به کنترل های سرور نشون میدن(به نظر من).

موفق باشید

mahdidabaghi
سه شنبه 29 بهمن 1392, 07:54 صبح
خیر.

ببین عزیز مردم حرف زیاد میزنند(تقلید از دیگران) اما بزار از تجربه خودم بگم.

میدونم که تو msdn مایکروسافت وحتی youtube گفته جی کوئری ایجکس. اما باور کن که من خیلی دنبالش کردم و برام کار نکرد. چرا میگم ابزار خود مایکروسافت ؟ چون بدون دردسر کارهایی رو که باید بشه انجامش میده، (دیگه چه انتظاری هست!) . برا کارهای معمولی مثل محاسبه طول ، پرش از یه تکست باکس به تکست باکس دیگه و کارهای ساده از کد کلاینت استفاده کن که مجبور به post back نشه. ضمنا باید بگم که کنترل های کلاینت به نوعی با دستورات کلاینتی(جی کوئری و سی اس اس) تعامل دارند و عکس العمل بیشتری نسبت به کنترل های سرور نشون میدن(به نظر من).

موفق باشید
سلام
به نظر بنده جیکوئری ایجکس بیار سریع تر از ابزارهای خود ای اس پی به منظوره بهره گیری از ایجکسه ...
ابته کد نویسی بیشتر و زمت بیشتری داره ... اما سبک تر و حرفه ای تره ...
البته این نظر بنده هست

m_darkoob
سه شنبه 29 بهمن 1392, 16:46 عصر
آیا معماری سه لایه برای حرفه ای شدن لازم نیست

من به خاطر همین مورد(معماری سه لایه) جرات کارکردن ندارم

ahmad156
سه شنبه 29 بهمن 1392, 17:41 عصر
برنامه نویسی چند لایه از نون شب واجب تره توی پروژه ها :لبخند:
قبلاً در موردش بحث شده یه سرچ بزنی به جوابت میرسی

moslem.hady
چهارشنبه 30 بهمن 1392, 08:47 صبح
دوستان به نظر من اگه یه صحبت هم درمورد کدنویسی حرفه ای بشه خیلی خوبه. برای مثال روزی یکی از دوستان به من گفت از try cache کمتر استفاده کن چون بار زیادی میاره روی سرور. یا برای اینکه تبدیل استرینگ به عدد خطا نده از این کد استفاده کنید:
int num=0;
int.TryParse(yourstring , out num);
//اگه خطا داشته باشه num=0 میشه

یا مثلا اگه میخواید شیئی بسازید ک موقته، از using استفاده کنید. مثلا:
using(DataContext _data= new DataContext()){
//your code
}
اگر از این کدها و بهینه سازی ها یا اطلاعات دارید که مطمئنید درسته، اشتراک بذارید.(برحسب حدس و گمان کد ندید!!)
موفق باشید