CodeGym /جاوا بلاگ /Random-SD /IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ
John Squirrels
سطح
San Francisco

IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ

گروپ ۾ شايع ٿيل
هڪ پروگرامنگ ٻولي ڳالهائيندڙ ٻولي سان تمام گهڻي ملندڙ جلندڙ آهي. فرق صرف اهو آهي ته اها هڪ خاص ٻولي آهي جنهن جو بنيادي مقصد ڪمپيوٽر سان رابطي کي آسان ڪرڻ آهي ته جيئن ڪمپيوٽر کي وضاحت ڪري سگهجي ته اسان ان کي ڇا ڪرڻ چاهيون ٿا. پر توهان ڪمپيوٽر سان ذاتي گفتگو نٿا ڪري سگهو. جڏهن توهان هڪ پروگرامنگ ٻولي سکڻ شروع ڪيو، توهان ڪتابن يا ڪجهه تعليمي وسيلن جهڙوڪ CodeGym ڏانهن ڏٺو. ۽ هي وسيلو توهان کي ڏيکاريو ڪوڊ جيڪو ڪمپيوٽر سمجهي ٿو. پر توهان کي پڻ اهو سمجهڻ گهرجي جيئن توهان جاوا ٻولي بابت سکندا آهيو. جيئن ڪنهن به ٻولي سان، ڪجهه فارميٽنگ ڪنوينشن پروگرامنگ ۾ اختيار ڪيا ويا آهن. مثال طور، شائستہ سماج ۾، wRiTiNg LiKe ان کي خراب آداب سمجهيو ويندو. ۽ جاوا ۾، هڪ طريقي جي نالي کي سرمائي خط سان شروع ڪرڻ ڪوڊنگ ڪنوينشن جي سراسر خلاف ورزي آهي. جاوا ڪوڊ جا ضابطا جاوا پروگرامنگ ٻولي لاءِ IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ - 1 دستاويز ڪوڊ ڪنوينشن ۾ ڏنل آهن . ڪوڊنگ ڪنوينشن پڻ ننڍن تفصيلن کي منظم ڪري سگھن ٿا، جهڙوڪ انڊنٽيشن. تصور ڪريو ته بلڪل خوفناڪ خواب ته نسخو ڪنٽرول ٿي ويندو جيڪڏهن انڊينٽيشن متضاد هجي، ڪجهه ماڻهو ٽيب استعمال ڪندي ۽ ٻيا ماڻهو اسپيس استعمال ڪندي. اهو ڪنهن ماڻهو لاءِ ڇا هوندو جنهن کي صرف هڪ طريقي سان درست ڪرڻ جي ضرورت آهي پر خالن ۽ ٽيب ۾ فرق جي ڪري پوري فائل بدلجي وئي؟ يقيناً، جيئن عام ٻوليءَ سان، ڪنوينشن تبديل ٿي سگهن ٿا ان جي بنياد تي جتي ٻولي استعمال ٿئي ٿي. مثال طور، ويب جي وسيع وسيع ۾، توهان ڳولي سگهو ٿا گوگل جاوا اسٽائل گائيڊ ۽ Twitter جاوا اسٽائل گائيڊ . ھن جائزي لاء، اسان کي ھڪڙي امتحان واري مضمون جي ضرورت آھي. اسان استعمال ڪنداسين Gradle build automation system. اهو اسان کي جلدي شروع ڪرڻ ڏينداسين ٽيمپليٽ مان هڪ نئون منصوبو ٺاهي. Gradle وٽ ھڪڙو وڏو پلگ ان آھي: Build Init Plugin . اچو ته نئين ڊاريڪٽري ۾ وڃو ۽ ھيٺ ڏنل ڪمانڊ ھلون: ان کان پوء، IntelliJ IDEA شروع ڪريو. جيڪڏهن توهان هڪ کليل پروجيڪٽ سان ونڊو ڏسندا آهيو (يعني توهان ڪوڊ ايڊيٽر ۽ پروجيڪٽ ٽري ڏسندا آهيو)، هن پروجيڪٽ کي استعمال ڪندي بند ڪريو . ھاڻي ڀليڪار ونڊو ۾، ھلايو " " ۽ اسان جو نئون پروجيڪٽ درآمد ڪريو. درآمد ڪرڻ وقت، چيڪ بڪس کي سيٽ ڪريو " ". اچو ته اهو سمجهون ته ڇا اسان جديد ترين ترقياتي اوزار استعمال ڪري سگهون ٿا ته جيئن زندگي کي آسان بڻائي سگهجي. gradle init --type java-applicationFile -> Close ProjectImport ProjectUse autoimport

IDEA ۾ ڪوڊ فارميٽ

پروجيڪٽ کي درآمد ڪرڻ کان پوء، Ctrl + N کي دٻايو ۽ AppTestڪلاس ڏانھن وڃو. هي ڊفالٽ ٽيسٽ ڪلاس آهي. اهو هن طرح نظر اچي ٿو:
import org.junit.Test;
import static org.junit.Assert.*;

public class AppTest {
    @Test public void testAppHasAGreeting() {
        App classUnderTest = new App();
        assertNotNull("app should have a greeting", classUnderTest.getGreeting());
    }
}
ڇا توهان جي اکين کي فوري طور تي پڪڙيو؟ ساڳئي لڪير تي هڪ تشريح هڪ طريقي جي اعلان جي طور تي، جيڪو بدصورت ڏسڻ ۾ اچي ٿو، صحيح؟ هن کي ڪيئن ٺيڪ ڪرڻ لاء؟ IntelliJ IDEA وٽ Codeمختلف ڪوڊ ميپيپليشنز لاءِ مينيو داخلا " " آهي. هڪ اهڙي ئي ڦيرڦار آهي " Reformat Code"، جنهن کي توهان Ctrl+L استعمال ڪندي لاڳو ڪري سگهو ٿا. ائين ڪرڻ کان پوءِ، تشريح هڪ لڪير تي ٿيندي، ۽ طريقي جو اعلان ٻئي تي. اهو فوري طور تي نوٽ ڪرڻ جي قابل آهي ته هي آپريشن هن وقت چونڊيل ڪوڊ تي ڪيو ويو آهي . جيڪڏهن ڪو به چونڊ نه آهي، پوء فارميٽنگ آپريشن هر شيء تي ڪيو ويندو آهي. ھاڻي اچو ھڪڙو نئون ٽيسٽ طريقو شامل ڪريو:
@Test
public void testSumOfOddNumbers() {
	List<Integer> data = Arrays.asList(1, 4, 2, 3, 6, 7, 9);
	Integer result = data.stream().filter(number -> number % 2 == 0).reduce((n1, n2) -> n1 + n2).get();
	assertThat(result, is(12));
}
۽ ٻه وارداتون:

import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
جئين توهان ڏسي سگهو ٿا، اسٽريم تي آپريشن هڪ لائن تي آهي. پر ڇا جيڪڏهن اسان اهو پڪ ڪرڻ چاهيون ٿا ته زنجير ٿيل طريقو ڪالون هميشه هر دور جي آپريٽر تي نئين لائينن ۾ ورهايل آهن؟ اسان اهو دستي طور تي ڪري سگهون ٿا. پر ياد رکو ته اسان چاهيون ٿا ته سڀ ڪجهه پاڻمرادو ٿئي. درحقيقت، اسان وقت بوقت دستي قدم کي وساري ڇڏينداسين، ۽ پوء اسان هر جڳهه مختلف فارميٽنگ سان ختم ڪنداسين، ۽ اهو سٺو ناهي. تنهنڪري اسان کي قاعدي کي تبديل ڪرڻ جي ضرورت آهي جيڪا IDEA فارميٽنگ لاء استعمال ڪري ٿي. File -> SettingsIDEA مينيو ۾ چونڊيو (يا پريس ڪريو Ctrl+Alt+S). سيٽنگون ونڊو ۾ سرچ فيلڊ ۾ "ڪوڊ انداز" داخل ڪريو. "ڪوڊ انداز" سيڪشن ۾، توھان صرف Java کان وڌيڪ ٻولين لاءِ سيٽنگون بيان ڪري سگھو ٿا. پر جاوا اهو آهي جيڪو اسان هن وقت دلچسپي وٺندا آهيون. جئين توهان ڏسي سگهو ٿا، سيٽنگون ڪيترن ئي ٽيب ۾ ورهايل آهن. هڪ سپر مفيد خصوصيت اها آهي ته آپريشن جو هڪ مثال ونڊو جي ساڄي حصي ۾ ڏيکاريو ويو آهي: IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ - 2اسڪرين شاٽ ڏيکاري ٿو ته اسان "زنجيرن جي ميٿڊ ڪالز" کي سيٽ ڪري سگھون ٿا "هميشه لفاف ڪريو"، يعني هميشه زنجير ٿيل ميٿڊ ڪالز کي الڳ لائينن ۾ ورهايو. ھاڻي ڪلڪ ڪريو فارميٽنگ بٽڻ کي ٻيهر ٽيسٽ ڪلاس ۾ ۽ اسان ڏسون ٿا ته اھو واقعي ڪم ڪري ٿو! پر ڪڏهن ڪڏهن توهان کي ڪجهه ڪوڊ فارميٽ ڪرڻ جي ضرورت آهي معياري فارميٽنگ جي ضابطن کان ٻاهر. فارميٽنگ کي ھيٺ ڏنل ترتيب ڏيو: IntelliJ IDEA: ڪوڊنگ اسلوب ۽ ڪوڊ فارميٽنگ - 3فارميٽنگ کي روڪڻ لاءِ، "ڪوڊ اسٽائل" سيڪشن ۾، فارميٽر مارڪرز کي فعال ڪريو: IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ - 4ھاڻي اسان پنھنجي ٽيسٽ ڪلاس کي تبديل ڪري سگھون ٿا ته جيئن ان جو ڪوڊ ريفارميٽ نه ٿئي.
@Test
public void testSumOfOddNumbers() {
	List<Integer> data = Arrays.asList(1, 4, 2, 3, 6, 7, 9);
	// @formatter:off
	Integer result = data.stream().filter(number -> number % 2 == 0)
                             .reduce((n1, n2) -> n1 + n2)
                             .get();
	assertThat(result, is(12));
	// @formatter:on
}
توهان شايد محسوس ڪيو هوندو ته جڏهن توهان ٽيب کي دٻايو ٿا، IDEA ان کي هڪ اسپيس جي طور تي تشريح ڪري ٿو (هي ڊفالٽ رويي آهي). پر توھان ان کي تبديل ڪري سگھو ٿا " Code Style" سيڪشن ۾: IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ - 5جيئن توھان ڏسي سگھو ٿا، اتي ڪيتريون ئي سيٽنگون آھن. توھان پڙھي سگھوٿا وڌيڪ تفصيل بابت Code styleسيٽنگون " " هتي: " IDEA مدد: ڪوڊ انداز ". هتي هڪ ٻيو اهم فارميٽنگ خاصيت آهي: فارميٽنگ درآمد. هي آپريشن الڳ طور تي هلايو ويندو آهي ۽ ان کي " Optimize Imports" سڏيو ويندو آهي. Code -> Optimize Importsاهو (Ctrl+Alt+O) جي هيٺان واقع آهي . امپورٽ کي بهتر ڪرڻ غير ضروري امپورٽ کي هٽائي ٿو ۽ جاوا لاءِ سيٽنگون " " Importsٽيب جي سيٽنگن مطابق صحيح ترتيب ۾ درآمد کي ترتيب ڏئي ٿو . Code Styleوڌيڪ ڇا آهي، جيڪڏهن توهان چاهيو ٿا ته هي فارميٽنگ خودڪار طريقي سان ٿئي، اتي سٺي خبر آهي: اهو استعمال ڪري سگهجي ٿو Save Actions پلگ ان.

ھڪڙي حڪم ۾ سيٽنگون ورهائڻ

اسان مٿي ڏٺو ته توهان پنهنجي فارميٽنگ جي انداز کي ترتيب ڏئي سگهو ٿا پر توهان چاهيو ٿا. پر توهان هن انداز کي ٽيم ۾ ڪيئن استعمال ڪندا آهيو؟ بلڪل آساني سان. اتي ڪيترائي اختيار آھن. ڪوڊ اسٽائل اسڪيم کي بچائڻ لاءِ آسان آهي. استعمال ڪندي IDEA سيٽنگون کوليو File -> Settings(يا پريس ڪريو Ctrl+Alt+S). " Code Style" سيڪشن ۾، اسان "اسڪيم" ڏسي سگھون ٿا. هي اسان جي فارميٽنگ اسڪيم آهي. ڊفالٽ طور، "ڊفالٽ" اسڪيم استعمال ڪئي وئي آهي ۽ "IDE" جو ليبل لڳايو ويو آهي، جنهن جو مطلب آهي ته هي سيٽنگ صرف اسان جي IDE تي لاڳو ٿئي ٿي - اهو ڪنهن ٻئي تي اثر انداز نٿو ڪري. "ڪسٽم" اسڪيم ٺاهڻ لاءِ، ڪاپي ڪرڻ لاءِ ساڄي پاسي واري بٽڻ کي استعمال ڪريو ۽ ان کي نالو ڏيو، مثال طور: CodeGym IntelliJ IDEA: ڪوڊنگ اسلوب ۽ ڪوڊ فارميٽنگ - 6پوءِ اسان سيٽنگون امپورٽ يا ايڪسپورٽ ڪري سگھون ٿا: IntelliJ IDEA: ڪوڊنگ اسلوب ۽ ڪوڊ فارميٽنگ - 7 ٻيو آپشن آهي IDEA سيٽنگون درآمد ڪرڻ لاءِ: IntelliJ IDEA: ڪوڊنگ اسلوب ۽ ڪوڊ فارميٽنگ - 8ٽيون آپشن آهي. سيٽنگون مخزن. سيٽنگون ريپوزٽري استعمال ڪرڻ لاءِ، ھيٺ ڏنل لنڪ تي وڌيڪ تفصيل لاءِ IntelliJ IDEA مدد دستاويز ڏسو: سيٽنگز ريپوزٽري ". ھڪڙي ٽيم تي متحد انداز کي زور ڏيڻ جي ڳالھ ڪندي، مان پڻ مدد نه ٿو ڪري سگھان پر ايڪليپس مان اسٽائلز لاءِ سٺي مدد جو ذڪر ڪري سگھان ٿو. IDE. ائين ڪرڻ لاءِ، توهان کي هڪ الڳ پلگ ان انسٽال ڪرڻ جي ضرورت آهي: فائل -> سيٽنگون (Ctrl+Alt+S) ذريعي IDEA سيٽنگون کوليو ۽ "پلگ ان" سيڪشن ڏانهن وڃو. نوان پلگ ان ڳولڻ لاءِ، "" بٽڻ تي ڪلڪ ڪريو. Browse Repositoriesپوءِ سرچ ونڊو ۾ Eclipse Code Formatter پلگ ان ڳولھيو. IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ - 9ان کي انسٽال ڪرڻ کان پوء، توھان کي IDEA کي ٻيهر شروع ڪرڻو پوندو - اھو ھڪڙو معياري طريقو آھي. ھاڻي سڀ ڪجھ ٿي ويو آھي. IDEA سيٽنگ ۾ ھڪڙو نئون سيڪشن آھي: "Eclipse Code Formatter". Eclipse فارميٽ فائل هتي ڳولي سگهو ٿا . اهو ڪجهه هن طرح نظر ايندو: IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ - 10

سخت گهرجون

IDEA اوزارن کان علاوه، توھان پڻ استعمال ڪري سگھو ٿا بلڊ آٽوميشن پلگ ان ضرورتن کي مضبوط ڪرڻ لاءِ. ڪو به طريقو ناهي ته توهان دستي طور تي چيڪ ڪري سگهو ٿا ته ڪنهن ماڻهو مناسب فارميٽنگ استعمال ڪيو آهي. ٿي سگهي ٿو توهان هڪ ٽيم تي 5 ماڻهن سان ڪري سگهو ٿا. پر هڪ ڪمپني ۾ 100 ماڻهن سان، اهو حقيقي ناهي. ۽ اڃا پنجن کي ٽريڪ ڪرڻ ڏکيو ٿيندو. ۽ ان مان ڪنهن تي پنهنجو وقت ڇو ضايع ڪريو؟ جيڪڏهن ضابطن جي ڀڃڪڙي ڪئي وڃي ته منصوبي کي تعمير ٿيڻ کان روڪڻ تمام آسان ٿيندو. حقيقت ۾، هي هڪ مڪمل الڳ موضوع آهي جنهن کي "انسپيڪٽ ڪوڊ" سڏيو ويندو آهي. هن آرٽيڪل ۾، مان صرف توهان کي ڏيکارڻ چاهيان ٿو ته اهو ڪيئن ڪم ڪري ٿو. سڀ کان وڌيڪ مشهور Gradle پلگ ان مان هڪ آهي (ڇاڪاڻ ته اهو اسان جو منصوبو ٺاهي ٿو، توهان کي ياد ڪيو ويندو) آهي pmd . ان کي فعال ڪرڻ لاءِ، صرف اسان جي Gradle پروجيڪٽ جي بلڊ اسڪرپٽ تي وڃو (اسان جي پروجيڪٽ جي روٽ تي build.gradle فائل) ۽ ان ۾ شامل ڪريو pmd باقي پلگ ان جي اڳيان:
plugins {
    // Apply the java plugin to add support for Java
    id 'java'
    // Check source code
    id 'pmd'
    // Apply the application plugin to add support for building an application
    id 'application'
}
هاڻي اسان ساڳئي جاء تي وڌيڪ تفصيلي سيٽنگون داخل ڪري سگهون ٿا:
pmd {
    ignoreFailures = false
    pmdTest.enabled = true
    ruleSets = [
            'java-basic',
            'java-braces',
            'java-clone',
            'java-codesize',
            'java-comments',
            'java-controversial',
            'java-coupling',
            'java-design',
            'java-empty',
            'java-finalizers',
            'java-imports',
            'java-optimizations',
            'java-strictexception',
            'java-strings',
            'java-typeresolution',
            'java-unnecessary',
            'java-unusedcode'
    ]
}
ايستائين جو اسان جو پروجيڪٽ به ٽٽي چڪو آهي. هلايو gradle build۽ اسان کي هڪ غلطي ملي. سٺي شيء اها آهي ته هڪ رپورٽ ٺاهي وئي آهي تعمير دوران. ۽ جيڪڏهن غلطيون آهن، اسان کي هن جهڙو پيغام ملي ٿو:
BUILD FAILED in 35s
6 actionable tasks: 6 executed
7 PMD rule violations were found. See the report at: file:///C:/_study/codestyle/build/reports/pmd/main.html
رپورٽ ڏانهن وڃڻ سان، اسان کي ڪجهه هن طرح نظر اچي ٿو: IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ - 11ان کان علاوه، " Problem" ڪالم pmd پلگ ان جي ويب سائيٽ تي مسئلي جي وضاحت لاء هڪ لنڪ مهيا ڪري ٿو. مثال طور، " headerCommentRequirement Required" غلطي لاءِ، لنڪ هتي وڃي ٿي: pmd — CommentRequired . هي غلطي هڪ اشارو آهي ته اسان جي طبقي وٽ JavaDoc ناهي. اسان ٽيمپليٽس استعمال ڪري سگھون ٿا جاوا ڊڪ مٿي ڏنل ڪلاسن کي ترتيب ڏيڻ لاءِ: IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ - 12۽ ان لاءِ مواد بيان ڪريو File Header: IntelliJ IDEA: ڪوڊنگ جو انداز ۽ ڪوڊ فارميٽنگ - 13ان کان پوءِ، اسان ايپ ڪلاس جي مٿي ڏنل تبصري کي JavaDoc ۾ تبديل ڪري سگھون ٿا ۽ ڏسون ٿا ته غلطي نئين تعمير ۾ ٿي وئي آھي.

هيٺيون لڪير

ڪوڊ اسلوب هڪ منصوبي تي پيداوار کي وڌائڻ لاء اهم آهي. شيئر ڪيل ضابطن جي مطابق لکيل خوبصورت ڪوڊ ضمانت ڏئي ٿو ته توهان جا همراه ان کي وڌيڪ آساني سان ۽ جلدي سمجھندا ۽ توهان کي تنقيد جو ڪو به ڌيان نه ڏيندا. جديد ترقياتي اوزارن سان، اهو ايترو ڏکيو ناهي ته طرز جي ضابطن تي قائم رهي. مون کي اميد آهي ته هي جائزو توهان کي ثابت ڪيو آهي ته اهو سچ آهي. روايت جي پٺيان، هتي موضوع تي ٿورو اضافي مواد آهي:
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION