ورودي بزرگ (و مخرب) ، يك كاربر مخرب مي تواند اصول كدنويسي بافر روي پشته را پر كند. با انجام دادن
با اين كار، آدرس برگشتي مي تواند به آنچه كه كاربر مخرب برنامه ريزي كرده است، بازنويسي شود. بنابراين،
وقتي فراخواني تابع به پايان مي رسد ، كنترل به جايي مي رود كه كاربر مخرب برنامه ريزي كرده است
معمولاً برخي از كدهاي مخرب براي كنترل رايانه يا انجام برخي موارد است استحكام: اگر يك برنامه حتي در موارد استثنايي برنامه ريزي شده را انجام دهد قوي است
شرايط يك برنامه ممكن است با اصول كدنويسي شرايط استثنايي در اشكال نادرست مواجه شود
ورودي، مقدار نادرست برخي از متغيرها، و سرريز. اگر چنين شرايطي پيش بيايد،
برنامه نبايد فقط "خراش" يا "داپت اصلي" باشد. بايد پيام معناداري توليد كند
و با ظرافت خارج شويد
Switch case with default: اگر هيچ مورد پيش فرضي در عبارت "switch" وجود نداشته باشد، رفتار مي تواند
غيرقابل پيش بيني باشد اگر آن مورد در مقطعي از زمان كه در آن زمان قابل پيش بيني نبوده رخ دهد
مرحله توسعه چنين عملي مي تواند منجر به باگي مانند عدم ارجاع NULL، نشت حافظه،
و همچنين انواع ديگر اشكالات جدي آن.اصول كدنويسي اين يك تمرين خوب است كه هميشه يك مورد پيش فرض را وارد كنيد.
به استثناها اهميت دهيد: بيشتر برنامه نويسان تمايل كمتري به موارد ممكن دارند
موارد استثنايي و تمايل دارند با جريان اصلي رويدادها، ايرانيان سايبر كنترل ها و داده ها كار كنند. اگر چه
كار اصلي در مسير اصلي انجام مي شود، اين مسيرهاي استثنايي هستند كه اغلب باعث ايجاد نرم افزار مي شوند
خرابي سيستم ها براي اطمينان بيشتر از سيستم نرم افزاري ، برنامه نويس بايد همه موارد را در نظر بگيرد
امكان ها و نوشتن كنترل كننده هاي استثنايي مناسب براي جلوگيري از خرابي يا ضرر در چنين شرايطي
شرايط پيش مي آيد
5. استانداردهاي كدگذاري
برنامه نويسان زمان بسيار اصول كدنويسي بيشتري را صرف خواندن كد مي كنند تا نوشتن كد. در طول عمر كد،
نويسنده زمان قابل توجهي را صرف خواندن آن در حين اشكال زدايي و بهبود مي كند. مردم
به غير از نويسنده نيز تلاش قابل توجهي در خواندن كد صرف مي كند زيرا كد اغلب است
توسط شخصي غير از نويسنده نگهداري مي شود. به طور خلاصه، نوشتن كد از اهميت بالايي برخوردار است
به گونه اي كه خواندن و درك آن آسان باشد. استانداردهاي كدگذاري قوانين و
دستورالعمل هايي براي برخي از جنبه هاي برنامه نويسي به منظور سهولت خواندن كد. اكثر
سازمان هايي كه نرم افزار توسعه مي دهند به طور منظم استانداردهاي خود را توسعه مي دهند.
قراردادهاي نامگذاري
برخي از قراردادهاي استاندارد نامگذاري كه اغلب رعايت مي شوند عبارتند از:
• نام بسته ها بايد با حروف كوچك (به عنوان مثال ، mypackage ، edu.iitk.maths) باشد
• نام هاي نوع بايد اسم باشند و با حروف بزرگ شروع شوند (مثلاً،
8
Day، DateOfBirth، EventHandler) نام متغيرها بايد اسم هايي باشند كه با حروف كوچك شروع مي شوند.
(به عنوان مثال، نام،
مقدار) اسامي ثابت بايد همه با حروف اصول كدنويسي بزرگ باشند (مانند PI، MAXJTERATIONS)
• نام روش ها بايد افعالي باشد كه با حروف كوچك شروع مي شوند (به عنوان مثال ، getValue ())
• متغيرهاي كلاس خصوصي بايد پسوند _ داشته باشند (به عنوان مثال، "مقدار int خصوصي_"). (برخي استانداردها
نياز است كه اين يك پيشوند باشد.)
• متغيرهاي با دامنه بزرگ بايد داراي نامهاي بلند باشند. متغيرهايي با دامنه كوچك مي توانند داشته باشند اسامي كوتاه ؛ تكرار كننده هاي حلقه بايد i، j، k و غيره قواعد كدنويسي نامگذاري شوند.