تو دوره های برنامه نویسی عموماً یک اشاره کلی به قواعد نام گذاری میشه و هیچ وقت خیلی دقیق بهش پرداخته نمیشه. قواعد نام گذاری کمک بزرگی که به ما می کنند باعث می شوند در ابتدا کد خواناتر باشه و مشخص باشه ما چه کاری داریم می کنیم و اینکه بعد از مدتی اگر به کد برگشتیم به دنبال این نیستیم که در این خط از کد چه کارهایی را انجام داده بودیم.
چند وقتی هست که دارم سعی میکنم یک Naming Convention برای اندروید آماده کنم. رعایت کردن این قواعد باعث میشه کمی پروژه که می نویسیم مشخص تر باشد. این قواعد را سعی کردم از طی چند سال تجربه برنامه نویسی و جستجو کردن در اینترنت جمع آوری کنم. پیشنهاد می کنم حتماً یک بار از آنها استفاده کنید.
به صورت کلی ما سه روش برای نام گذاری داریم.
روش اول به نام camelCase شناخته می شود. به این صورت است که کلمه اول با حرف کوچک نوشته می شود و کلمات بعدی با حروف بزرگ نوشته می شود. برای مثال firstName
روش دوم به نام PascalCasing و یا UpperCamelCase شناخته می شود که تمامی کلمات با حروف بزرگ شروع می شوند مانند: UserActivity
روش سوم با نام UPPERCASE_UNDERSCORE شناخته می شود. از این روش برای تعریف متغییر های ثابت استفاده می کنیم.
روش چهارم به نام lowercase_underscore است که از این روش برای تعریف کردن اسم ها در xml استفاده می شود.
قواعد نام گذاری برای کلاس ها
برای نام گذاری کلاس ها از روش Pascal یا UpperCamelCase استفاده می کنیم.
SignInActivity, SignInFragment, ImageUploaderService, ChangePasswordDialog
برای ترتیب نوشتن یک کلاس هیچ قاعده و قانونی وجود ندارد. ولی طی تجربه بهتر است از این ترتیب استفاده کنیم و آن را رعایت کنیم.
برای نمونه
public class MainActivity extends Activity { private static final String TAG = MainActivity.class.getSimpleName(); private String mTitle; private TextView mTextViewTitle; @Override public void onCreate() { ... } public void setTitle(String title) { mTitle = title; } private void setUpView() { ... } static class AnInnerClass { } }
برای قسمت نام گذاری های Field ها نیز می توانیم به صورت زیر عمل کنیم.
نام توابع باید به صورت camelCase باشد و در ابتدا باید توابع public نوشته شود و بعد از آن توابع private نوشته شود. در ورودی توابع نیز ترتیب نیز مهم است. در اندروید در بسیاری از مواقع ما باید Context را هم ارسال کنیم. توصیه به این صورت است که Context همیشه اولین ورودی باشد و Call Back همیشه آخرین باشد.
public void loadUserAsync(Context context, int userId, UserCallback callback);
سعی میکنم در چندین قسمت نام گذاری تمامی قسمت های یک پروژه اندروید را تکمیل کنم.