بخشی از پاورپوینت
اسلاید 1 :
مهارتهای برنامه نويسی Programming Skills
اسلاید 2 :
حقوق مؤلف
کلیه حقوق این اثر متعلق به انجمن جاواکاپ است
بازنشر یا تدریس آنچه توسط جاواکاپ و به صورت عمومی منتشر شده است، با ذکر مرجع (جاواکاپ) بلامانع است
اگر این اثر توسط جاواکاپ به صورت عمومی منتشر نشده است و به صورت اختصاصی در اختیار شما یا شرکت شما قرار گرفته، بازنشر آن مجاز نیست
تغییر محتوای این اثر بدون اطلاع و تأیید انجمن جاواکاپ مجاز نیست
اسلاید 3 :
سرفصل مطالب
موضوع این جلسه: مروری بر چند نکته و مهارت برنامهنویسی
مستندات جاوا (javadoc)
مفهوم Classpath
فایلهای JAR
امکانات محیطهای توسعه (IDE)
تکميل کد
امکانات اشکالیابی (Debugging)
تولید کد (تولید سازنده، تولید equals، toString، getter وsetter)
اسلاید 4 :
فایلهای آرشیو جاوا JAR Files
اسلاید 5 :
فایلهای JAR
یک فایل که مجموعهای از فایلها و کلاسهای جاوا را نگهداری میکند
به طور معمول، یک JAR شامل کلاسهای ترجمه شده (.class) است
و احتمالاً فایلهای تکمیلی
مثل فایلهای تنظيمات که در برنامهها استفاده میشوند
معمولاً متن برنامهها (فایلهای .java) در JAR گنجانده نمیشود
در نگاه اول، یک فایل JAR مانند یک فایل فشرده (zip) است
شامل کلاسهای مختلف یک پروژه که در شاخههای (بستهها) مختلف قرار دارند
البته پسوند این فایل هم .jar است
JAR => Java Archive
اسلاید 6 :
فایلهای JAR (ادامه)
مزایای استفاده از فایلهای JAR
مجموعهای از فایلها، برنامهها و کلاسها به صورت یکجا مدیریت میشوند
دانلود سادهتر، امکان فشردهسازی، نسخهبندی نرمافزار و غیره
نحوه ایجاد فایل JAR از یک برنامه
استفاده از دستورjar :jar cf jar-file input-files
و یا استفاده از ابزارها (Eclipse، Ant یا Maven)
نحوه مشاهده محتویات فایل JAR
سادهترین راه: از ابزارهای zip استفاده کنید (مثلاً WinRAR)
سایر راهها: استفاده از دستور jar یا امکانات محیط توسعه (IDE)
اسلاید 7 :
مفهوم ClassPath
اسلاید 8 :
مفهوم Classpath (CP)
یک پارامتر برای کامپایلر جاوا یا JVM است
مشخص میکند در چه محلهایی بهدنبال کلاسها و بستهها بگردند
این پارامتر به java یا javac پاس میشود
یا بهصورت یک متغیر محیطی (Environment Variable) تعریف میشود
البته محل کلاسهای موجود در زبان جاوا نیازی به معرفی در CP ندارند
مثلاً String
با مفهوم path اشتباه نگیرید
path مربوط به سیستمعامل است و محل فایلهای اجرایی را مشخص میکند
با مفهوم Working Directory اشتباه نگیرید
اسلاید 9 :
کاربرد Classpath
در ویندوز:
java -cp D:\myprogram org.mypackage.HelloWorld
در لینوکس
java -cp /home/user/myprogram org.mypackage.HelloWorld
اسلاید 10 :
مثالهایی از کاربرد Classpath
استفاده از متغیر محیطی:
set CLASSPATH=D:\myprogram
java org.mypackage.HelloWorld
تعیین چند فولدر یا JAR در classpath :
java -cp D:\prog;D:\lib\support.jar org.HelloWorld
برای جداکردن بخشهای مختلف cp در لینوکس : و در ویندوز ;
-cp معادل –classpath است
مثال: استفاده از چندین فایل JAR و شاخه جاری به عنوان cp :
java -classpath '.:/mylib/*' MyApp
اسلاید 11 :
مستندات جاوا Javadoc
اسلاید 12 :
تولید مستندات با کمک javadoc
یکی از امکانات محیط جاوا: دستور javadoc
امکانی برای ايجاد خودکار مستندات (documents) از برنامههای جاوا
مستندات: متنهایی که برنامهها را به خوبی توصيف میکند
امکانی بسيار مفيد برای شناختن برنامههای ديگران
کلاسها، متدها و .
مثال:
C:\> javadoc Rectangle.java
اسلاید 13 :
نحوه تعریف javadoc
کامنتی که با /** شروع میشود (به جای /*) به عنوان جاواداک در نظر گرفته میشود
این جاواداک قبل از تعریف هر چیزی که باشد، همان را توصیف میکند
مثلاً قبل از یک کلاس، متد، سازنده، یا ويژگی
دستور javadoc این توصیفات را به یک مستند HTML تبدیل میکند
امکاناتی برای توصیف بهتر برنامه نیز وجود دارد (فراتر از متن)
تگهایی (tags) که توضیح خاصی اضافه میکنند (مثل @author)
امکاناتی برای برقراری ارتباط بین مستندات مختلف (مثل @see)
/** This class represents a human.*/
public class Person {
/** national ID (SSN) */
private String ID;
.
}
اسلاید 14 :
مثال
/**
* This class represents a human. Objects of this class are immutable.
* @author Sadegh Aliakbary
* @see java.lang.String
*/
public class Person {
/** national ID (SSN) */
private String ID;
private String name; //No javadoc
/**
* The only constructor of the class
* @param id The social security number (national ID)
* @param name The full-name, including first-name and last-name
*/
public Person(String id, String name) {
ID = id;
this.name = name;
}
/**
* This method should be called to ask the person run
* @param speed The speed of running
* @return returns true if he/she can run with that speed
*/
public boolean run(double speed){.}
}
اسلاید 15 :
بخشهایی از مستند تولیدشده توسط javadoc
اسلاید 16 :
https://docs.oracle.com/javase/8/docs/ مثال:
اسلاید 17 :
قواعد مرسوم در برنامهنویسی جاوا Java Code Conventions
اسلاید 18 :
مفهوم Code Convention
در هر زبان برنامهنویسی، برنامهنویسان عرف و قواعد مرسومی دارند
که توسط زبان برنامهنویسی تحمیل نمیشود
ولی رعایت آنها رایج و مرسوم و مفید است
به این موارد، Code convention گفته میشود
شامل توصیههایی در زمينه:
نامگذاری (نام بسته، کلاس، متد، متغیر، ثابت و .)
قالب خطوط برنامه در دستورات پیچیدهتر (if-then-else ، switch و .)
نحوه دندانهگذاری
این قواعد کمک میکند خوشخط برنامهنویسی کنید
دستخط برنامهنویسی شما چگونه است؟ (تمیز کد بزنید)
اسلاید 19 :
آداب و رسوم نامگذاری (Java Naming Conventions)
بسته: همه حروف کوچک. مثل com.sun.eng
کلاس: با حرف بزرگ شروع شود و با الگوی «کوهان شتر» ادامه یابد
مثال: Raster یا ImageSprite
از «اسم» برای نامگذاری استفاده کنید
متد: با حرف کوچک شروع شود و با الگوی «کوهان شتر» ادامه یابد
مثال: runFast یا getBackground
از «فعل» برای نامگذاری استفاده کنید
متغیرها: شروع با حرف کوچک و ادامه با الگوی «کوهان شتر»
مثال: myWidth یا maxNumber
ثابتها: همه حروف بزرگ، کلمات مختلف در نام با underscore (_) جدا شوند
مثال: MIN_WIDTH
اسلاید 20 :
مثالهایی از رسوم جاوا