هرکدوم از ما برای کد زدن ی دستخطی داریم که به مرور زمان و بر اساس تجربههامون از codebaseهای مختلف به وجود اومده و هربار وارد یک تیم جدید میشیم ممکنه دستخطی ببینم، متفاوت از اونی که کار میکردیم. البته مشکل وقتی حادتر میشه که همتیمیها هم دستخطهای متفاوتی داشته باشن و با هر بار pull کردن، دستخط کدهامون بهم بریزه، حالا یا باید بپذیرم، یا با هزار دردسر دستخطها رو درست کنیم و بعد از کلی تغییر دوباره کدها رو به سمت repo بفرستیم.
در کل یکدست نبودن علامت گذاریها و دستخطها باعث کثیف شدن کد میشه و میتونه اذیتکننده باشه. البته ممکنه بگید که این مشکل تا حد زیادی توسط IDEها حل شده و درست هم میگید ولی ی نکاتی هست که در هر IDEیی ی جوری باهاش برخورد میشه، مثل: محل قرار دادن "}" (curly brackets) در انتهای نام تابع و یا در ابتدای خط بعدی، اندازه پرش هر tab و... .
ما برای یکدست کردن کدها دنبال یک دستخط استاندارد میگشتیم که به دو تا استاندارد از شرکتهای بزرگ رسیدیم؛ گوگل و سان.
اول از همه بگم که با انتخاب یکی از این دو دستخط میتونید به ی codebase کاملا ی دست و تمیز برسید، البته ی تفاوت هایی هم در این دو وجود داره. برای دیدن checkهایی که این checkerها انجام میدن میتونید به آدرس این repo ی سری بزنید:
https://github.com/checkstyle/checkstyle/tree/master/src/main/resources
البته مثل همیشه checker گوگل کاملتر هستش که با اولین نگاه متوجه، تفاوت تعداد خطوط فایلها میشید. البته در تعداد moduleها یکسان هستند ولی attributeهایی که چک میکنند، متفاوت هستند و گوگل دقیقتر عمل کرده.
حالا برسیم به code style گوگل که ما بخاطر دقیقتر بودن، چک کردن ریز و همچنین پوشش تقریبا تمام موارد دستخط، ترجیح دادیم ازش استفاده کنیم.
البته ما چون جاوایی بودیم از Java code style استفاده کردیم. که میتونه بر اساس زبانی که شما کار میکنید آدرس repoی code style متفاوت باشه.
این آدرس repoیی هست که بسیار کاملتر از بقیه بود و متعلق به خود گوگل هستش.
https://github.com/google/styleguide/blob/gh-pages/intellij-java-google-style.xml
برای اینکه بتویند از این code style استفاده کنید به قسمت settings در IDEتون برید و گزینه Code Style رو انتخاب کنید و در بخش Scheme روی دکمه چرخدنده کلیک کنید و با استفاده از گزینه Import Scheme فایل xmlیی رو که دانلود کردید به IDE تون اضافه کنید.
حالا میتونید، با استفاده از code style گوگل، خیلی تمیز و با خیال راحت کد بزنید.
موفق باشید.