PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نکات ریز اما مهم در برنامه نویسی



آبجی
4th March 2010, 12:42 AM
break در هرجای حلقه که باشه باعث میشه تا برنامه از حلقه خارج بشه

continue در هرجای حلقه باشه ، دستورات بعد از اون خط نادیده گرفته میشه و برنامه به ابتدای حلقه منتقل میشه
بیشتر کاربرد این دستورات توی حلقه های تودرتو هست که در یک جای برنامه لازمه که از حلقه خارج بشیم یا به اول حلقه برگردیم .

آبجی
4th March 2010, 12:43 AM
دستور if میتونه به صورت تودر تو بصورت زیر مورد استفاده قرار بگیره :

if ( condition1) {
if (condition2) { . . . } }
معمولا وقتی استفاده میشه که چندتا شرط با هم ترکیب بشند ، مثل برنامه ای که اعداد یک رقمی و اول را نمایش دهد .

آبجی
4th March 2010, 12:45 AM
عملگر ؟ تقریبا ساده شده عملگر if هستش ، که به صورت زیر بکار برده میشود:


variable=condition ? expression1 : expression 2

که درصورتی که condition یا شرط برقرار باشد ، مقدار expression 1 را در variable یا متغیر قرار میدهد و در صورتی که شرط برقرار نباشد مقدار expressio 2 را در variable قرار میدهد .

مثلا:


max=x>y ? x : y ;

در این مثال اگر x بزرگتر از y باشد ، x را در max قرار میدهد وگرنه y را در max قرار میدهد . به همین راحتی ماکزیمم دو عدد مشخص میشود .

آبجی
4th March 2010, 12:47 AM
یه نکته مهم که شاید خیلی وقتا باعث اشکال در برنامه بشه و ما ازون غافل باشیم:
عملگر = برای انتساب به کار می رود ،به دستور زیر توجه کنید:


a=2;

این دستور باعث میشود که مقدار 2 داخل متغیر a قرار بگیرد.

عملگر == یک عملگر مقایسه ای هست ، به این معنی که از این عملگر در دستورات شرطی استفاده میشود.

مثلا به دستور زیر توجه کنید:


if (a==2)

cout<<"a=2";

else

cout<<"a<>b";

این دستورات باعث می شود تا اگر مقدار a برابر 2 باشد ، در خروجی عبارت a=2 چاپ شود . در غیر اینصورت در خروجی عبارت a<>2 چاپ میشود.

آبجی
4th March 2010, 12:49 AM
زبان ++ c به بزرگ یا کوچک بودن حروف حساسه ؛ یعنی : A=!a

آبجی
4th March 2010, 12:49 AM
حتما توی برنامه هایی که تا حالا نوشتید به این مشکل بر خوردید که صفحه خروجی پس از انجام عملیات بسته می شود و جواب آخر نشان داده نمیشود.

شاید دوست داشته باشید که بعد از انجام عملیات صفحه خروجی باز بماند و شما بتوانید نتایج را ببینید و با زدن یک کلیک از صفحه خروجی خارج شوید . برای این کار چندین روش وجود دارد که من در اینجا به یکی از آنها اشاره می کنم :

به برنامه خود 2 خط به شکل زیر اضافه کنید:




#include<iostream>

#include<conio.h>

using namespace std;

int main() {

;دستورات

getch();

return 0;

}


.حالا با کامپایل برنامه تغییرات را ببینید

آبجی
4th March 2010, 12:56 AM
break در هرجای حلقه که باشه باعث میشه تا برنامه از حلقه خارج بشه

continue در هرجای حلقه باشه ، دستورات بعد از اون خط نادیده گرفته میشه و برنامه به ابتدای حلقه منتقل میشه

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

آبجی
4th March 2010, 01:01 AM
1- هرگز فایل های ضمیمه شده رو با پسوند inc. ذخیره نکنید! یعنی name.class.inc رو به name.class.php تغییر بدید. و یا از .HTAccess برای تعیین سطح دسترسی inc. استفاده کنید.
2- حتاًالمکان تگ های اضافی و فضا های خالی را حذف کنید و از باز و بسته کردن بیش از حد تگهای سرور خودداری کنید(مخصوصاً در پروژه های سنگین).
3- کلاس را با Final و Initialize/__construct شروع کنید و با __destruct پایان دهید و با قرار دادن ; در آخر کلاس کامل ببندینش:

final class Name
{
public function Name()
{
}
final public function __construct()
{
#...
}
final public function __destruct()
{
#...
}
};4- برای Escape کردن کاراکترهای ویژه و جلوگیری از خیلی از حملات SQL از دستورات زیر استفاده کنید:
کد PHP:

get_magic_quotes_gpc ? $Str_Input= @stripslashes($Str_Input) : $Str_Input= @addslashes($Str_Input);
if(function_exists('mysql_real_escape_string')): @mysql_real_escape_string($Str_Input);
else: @mysql_escape_string($Str_Input);
endif; 5- در کلاس خود از تابع پیش فرض clone__ برای جلوگیری از تقلید(Clone)(شبیه سازی) توابع استفاده کنید:
کد PHP:

final public function __clone()
{
exit;
} 6- هرگز از Cookie برای ذخیره کلمه رمز یا مقادیر نمایشی استفاده نکنید(قابل تغییر هستند).
7- در خط اول هر فایل PHP، بعد از خطا زدایی کامل صفحه، دستور (error_reporting(0 را قرار بدید که تمامی خطا ها و هشدار ها ignore بشن. تا از سو استفاده های احتمالی جلوگیری بشه.
8- حتاًامکان از دستور GET_$ برای دریافت مقادیر استفاده نکنید. و به جاش از دستور REQUEST_$ استفاده کنید(مقدارش رو هم فیلتر کنید): Request شامل GET, POST, Cookie می باشد.
10- در اول هر کلاس و تابع حتماً وجود و بودن کلاس و تابع رو چک کنید!
کد PHP:


if(!extension_loaded('mysql')): exit('Extension MySQL not loaded.');
endif;
...
if(function_exists('mysql_real_escape_string')): mysql_real_escape_string(...);
else: mysql_escape_string(...);
endif;
...
11- هرگز از روش زیر برای آدرس دهی(Action) استفاده نکنید:
کد PHP:

<form name="Frm_Test" action="<?= $_Server['PHP_Self'] ?>" method="post" target="_self">
...
</form>
چراکه قابل تغییر و دستکاری هستند(برای حملات (XSS(Cross Side Scripting).
راه حل:
کد
PHP:
$_PHPSelf= @basename(__File__);
$_Server['PHP_Self]= @substr($_Server['PHP_Self'], 0, @strpos($_Server['PHP_Self], $_PHPSelf)) . $_PHPSelf;
13- حتماً تمامی خروجی ها/ورودی ها رو به نوع مربوطش تبدیل کنید:
کد :

echo((string)'Test ' . $_Var_Test);
return((string)$_Str_Test);
return((int)$_Int_Test);

14- و در آخر، بهتر و ایمن تره اگر تمامی تگ ها و بلاک ها رو کامل مشخص کنید و کامل ببندید:
حافظه و Parser هم دچار مشکل نمیشه.
کد PHP:


if(...): ...
endif;
if(...): ...
else(...): ...
endif;
if(...): ...
elseif(...): ...
else(...): ...
endif;
if(...)
{
...
};
if(...): ...
{
...
}
else
{
...
};
while(...):
endwhile;
while(...)
{
};
for...
foreach...
...

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد