์ฃผ์„์€ ๊ธฐ๊ปํ•ด์•ผ ํ•„์š”์•…์ด๋‹ค.

์ฃผ์„(Comment)

์ฃผ์„์€ ๋‚˜์œ ์ฝ”๋“œ๋ฅผ ๋ณด์™„ํ•˜์ง€ ๋ชปํ•œ๋‹ค.

์ฝ”๋“œ์— ์ฃผ์„์„ ์ถ”๊ฐ€ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ์ด์œ ๋Š” ์ฝ”๋“œ ํ’ˆ์งˆ์ด ๋‚˜์˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊น”๋”ํ•˜๊ณ  ์ฃผ์„์ด ๊ฑฐ์˜ ์—†๋Š” ์ฝ”๋“œ๊ฐ€, ๋ณต์žกํ•˜๊ณ  ์–ด์ˆ˜์„ ํ•˜๋ฉฐ ์ฃผ์„์ด ๋งŽ์ด ๋‹ฌ๋ฆฐ ์ฝ”๋“œ๋ณด๋‹ค ํ›จ์”ฌ ์ข‹๋‹ค. ์ฃผ์„์œผ๋กœ ์„ค๋ช…ํ•˜๋ ค ์• ์“ฐ๋Š” ๋Œ€์‹ ์— ๊ทธ ๋‚œ์žฅํŒ์„ ๊นจ๋—์ด ์น˜์šฐ๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋ณด๋‚ด๋ผ!

์ฝ”๋“œ๋กœ ์˜๋„๋ฅผ ํ‘œํ˜„ํ•˜๋ผ!

// ์ง์›์—๊ฒŒ ๋ณต์ง€ ํ˜œํƒ์„ ๋ฐ›์„ ์ž๊ฒฉ์ด ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•œ๋‹ค.
if((employee.flags & HOURLY_FLAG) && (employee.age > 65))

์ฃผ์„๋„ ํ•„์š”์—†์ด ํ•จ์ˆ˜ ์ด๋ฆ„๋งŒ์œผ๋กœ ์ถฉ๋ถ„ํžˆ ๊น”๋”ํ•˜๊ฒŒ ํ‘œํ˜„๋˜์—ˆ๋‹ค.

if (employee.isEligibleForFullBenefits())

์ข‹์€ ์ฃผ์„

๋ฒ•์ ์ธ ์ฃผ์„: ๊ฐ ์†Œ์Šค ํŒŒ์ผ ์ฒซ๋จธ๋ฆฌ์— ๋“ค์–ด๊ฐ€๋Š” ์ €์ž‘๊ถŒ ์ •๋ณด์™€ ์†Œ์œ ๊ถŒ ์ •๋ณด ๋“ฑ

// Copyright (C) 2003, 2004, 2005 by Object Montor, Inc. All right reserved.
// GNU General Public License

์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ฃผ์„

// ํ…Œ์ŠคํŠธ ์ค‘์ธ Responder ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜
protected abstract Responder responderInstance();

๋ฌผ๋ก  ์ด ์ฃผ์„๋„ ํ•จ์ˆ˜ ์ด๋ฆ„์— ์ •๋ณด๋ฅผ ๋‹ด์•„ responderBeingTested๋กœ ๋ฐ”๊พธ๋ฉด ์—†์•จ ์ˆ˜ ์žˆ๋‹ค. ๋” ๋‚˜์€ ์˜ˆ:

// kk:mm:ss EEE, MMM dd, yyyy ํ˜•์‹์ด๋‹ค.
Pattern timeMatcher = Pattern.compile("\\d*:\\d*\\d* \\w*, \\w*, \\d*, \\d*");

์˜๋„๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ฃผ์„

// ์Šค๋ ˆ๋“œ๋ฅผ ๋Œ€๋Ÿ‰ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์–ด๋–ป๊ฒŒ๋“  ๊ฒฝ์Ÿ ์กฐ๊ฑด์„ ๋งŒ๋“ค๋ ค ์‹œ๋„ํ•œ๋‹ค.
for (int i = 0; i > 2500; i++) {
    WidgetBuilderThread widgetBuilderThread =
        new WidgetBuilderThread(widgetBuilder, text, parent, failFlag);
    Thread thread = new Thread(widgetBuilderThread);
    thread.start();
}

๊ฒฐ๊ณผ๋ฅผ ๊ฒฝ๊ณ ํ•˜๋Š” ์ฃผ์„

// ์—ฌ์œ  ์‹œ๊ฐ„์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๋‹ค๋ฉด ์‹คํ–‰ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
public void _testWithReallyBigFile() {
 
}

TODO ์ฃผ์„

// TODO-MdM ํ˜„์žฌ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.
// ์ฒดํฌ์•„์›ƒ ๋ชจ๋ธ์„ ๋„์ž…ํ•˜๋ฉด ํ•จ์ˆ˜๊ฐ€ ํ•„์š” ์—†๋‹ค.
protected VersionInfo makeVersion() throws Exception {
    return null;
}

์ค‘์š”์„ฑ์„ ๊ฐ•์กฐํ•˜๋Š” ์ฃผ์„

String listItemContent = match.group(3).trim();
// ์—ฌ๊ธฐ์„œ trim์€ ์ •๋ง ์ค‘์š”ํ•˜๋‹ค. trim ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด์—์„œ ์‹œ์ž‘ ๊ณต๋ฐฑ์„ ์ œ๊ฑฐํ•œ๋‹ค.
// ๋ฌธ์ž์—ด์— ์‹œ์ž‘ ๊ณต๋ฐฑ์ด ์žˆ์œผ๋ฉด ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ์ธ์‹๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
new ListItemWidget(this, listItemContent, this.level + 1);
return buildList(text.substring(match.end()));

๊ณต๊ฐœ API์—์„œ Javadocs

์„ค๋ช…์ด ์ž˜ ๋œ ๊ณต๊ฐœ API๋Š” ์ฐธ์œผ๋กœ ์œ ์šฉํ•˜๊ณ  ๋งŒ์กฑ์Šค๋Ÿฝ๋‹ค. ๊ณต๊ฐœ API๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ํ›Œ๋ฅญํ•œ Javadocs ์ž‘์„ฑ์„ ์ถ”์ฒœํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๋Š ์ฃผ์„๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Javadocs ์—ญ์‹œ ๋…์ž๋ฅผ ์˜ค๋„ํ•˜๊ฑฐ๋‚˜, ์ž˜๋ชป ์œ„์น˜ํ•˜๊ฑฐ๋‚˜, ๊ทธ๋ฆ‡๋œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์กด์žฌํ•˜๋Š” ๊ฒƒ ์—ญ์‹œ ์žŠ์œผ๋ฉด ์•ˆ ๋œ๋‹ค.

๋‚˜์œ ์ฃผ์„

์ฃผ์ ˆ๊ฑฐ๋ฆฌ๋Š” ์ฃผ์„

public void loadProperties() {
    try {
        String propertiesPath = propertiesLocation + "/" + PROPERTIES_FILE;
        FileInputStream propertiesStream = new FileInputStream(propertiesPath);
        loadedProperties.load(propertiesStream);
    } catch (IOException e) {
        // ์†์„ฑ ํŒŒ์ผ์ด ์—†๋‹ค๋ฉด ๊ธฐ๋ณธ๊ฐ’์„ ๋ชจ๋‘ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ฝ์–ด ๋“ค์˜€๋‹ค๋Š” ์˜๋ฏธ๋‹ค.
    }
}

catch ๋ธ”๋ก์— ์žˆ๋Š” ์ฃผ์„์€ ์ €์ž์—๊ฒŒ์•ผ ์˜๋ฏธ๊ฐ€ ์žˆ๊ฒ ์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ์ „ํ•ด์ง€์ง€ ์•Š๋Š”๋‹ค. ์ € ์ฃผ์„์˜ ์˜๋ฏธ๋ฅผ ์•Œ์•„๋‚ด๋ ค๋ฉด ๋‹ค๋ฅธ ์ฝ”๋“œ๋ฅผ ๋’ค์ ธ๋ณด๋Š” ์ˆ˜๋ฐ–์— ์—†๋‹ค. ์ดํ•ด๊ฐ€ ์•ˆ๋˜์–ด ๋‹ค๋ฅธ ๋ชจ๋“ˆ๊นŒ์ง€ ๋’ค์ ธ์•ผ ํ•˜๋Š” ์ฃผ์„์€ ์ œ๋Œ€๋กœ ๋œ ์ฃผ์„์ด ์•„๋‹ˆ๋‹ค.

๊ฐ™์€ ์ด์•ผ๊ธฐ๋ฅผ ์ค‘๋ณตํ•˜๋Š” ์ฃผ์„

์ฝ”๋“œ ๋‚ด์šฉ์„ ๊ทธ๋Œ€๋กœ ์ค‘๋ณตํ•˜๋Š” ์ฃผ์„์ด ์žˆ๋‹ค. ์ „ํ˜€ ํ•„์š”์—†๋Š” ์ฝ”๋“œ

// this.closed๊ฐ€ true์ผ ๋•Œ ๋ฐ˜ํ™˜๋˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์„œ๋“œ๋‹ค.
// ํƒ€์ž„์•„์›ƒ์— ๋„๋‹ฌํ•˜๋ฉด ์˜ˆ์™ธ๋ฅผ ๋˜์ง„๋‹ค.
public synchronized void waitForClose(final long timeoutMillis) throws Exception {
    if (!closed) {
        wait(timeoutMillis);
        if (!closed) {
            throw new Exception("MockResponseSender could not be closed");
        }
    }
}

์˜คํ•ดํ•  ์—ฌ์ง€๊ฐ€ ์žˆ๋Š” ์ฃผ์„

์œ„ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๋ณด์ž. ์ค‘๋ณต์ด ๋งŽ์œผ๋ฉด์„œ๋„ ์˜คํ•ดํ•  ์—ฌ์ง€๊ฐ€ ์‚ด์ง ์žˆ๋‹ค. this.closed๊ฐ€ true๋กœ ๋ณ€ํ•˜๋Š” ์ˆœ๊ฐ„์— ๋ฉ”์„œ๋“œ๋Š” ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๋Š”๋‹ค. this.closed๊ฐ€ true์—ฌ์•ผ ๋ฉ”์„œ๋“œ๋Š” ๋ฐ˜ํ™˜๋œ๋‹ค. ์•„๋‹ˆ๋ฉด ๋ฌด์กฐ๊ฑด ํƒ€์ž„์•„์›ƒ์„ ๊ธฐ๋‹ค๋ ธ๋‹ค this.closed๊ฐ€ ๊ทธ๋ž˜๋„ true๊ฐ€ ์•„๋‹ˆ๋ฉด ์˜ˆ์™ธ๋ฅผ ๋˜์ง„๋‹ค. ์ฃผ์„์— ๋‹ด๊ธด โ€˜์‚ด์ง ์ž˜๋ชป๋œ ์ •๋ณดโ€™๋กœ ์ธํ•ด ์–ด๋Š ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๊ฒฝ์†”ํ•˜๊ฒŒ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด ์ž๊ธฐ ์ฝ”๋“œ๊ฐ€ ์•„์ฃผ ๋Š๋ ค์ง„ ์ด์œ ๋ฅผ ๋ชป์ฐพ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

์˜๋ฌด์ ์œผ๋กœ ๋‹ค๋Š” ์ฃผ์„

๋ชจ๋“  ํ•จ์ˆ˜์— Javadocs๋ฅผ ๋‹ฌ๊ฑฐ๋‚˜ ๋ชจ๋“  ๋ณ€์ˆ˜์— ์ฃผ์„์„ ๋‹ฌ์•„์•ผ ํ•œ๋‹ค๋Š” ๊ทœ์น™์€ ์–ด๋ฆฌ์„๊ธฐ ๊ทธ์ง€์—†๋‹ค. ์ด๋Ÿฐ ์ฃผ์„์€ ์ฝ”๋“œ๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค๋ฉฐ, ๊ฑฐ์ง“๋ง์„ ํผ๋œจ๋ฆฌ๊ณ , ํ˜ผ๋™๊ณผ ๋ฌด์งˆ์„œ๋ฅผ ์ดˆ๋ž˜ํ•œ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ์ฃผ์„์€ ์•„๋ฌด ๊ฐ€์น˜๋„ ์—†๋‹ค.

/**
 *
 * @param title CD ์ œ๋ชฉ
 * @param author CD ์ €์ž
 * @param tracks CD ํŠธ๋ž™ ์ˆซ์ž
 * @param durationInMinutes CD ๊ธธ์ด(๋‹จ์œ„: ๋ถ„)
 */
public void addCD(String title, String author, int tracks, int durationInMinutes) {
    CD cd = new CD();
    cd.title = title;
    cd.author = author;
    cd.tracks = tracks;
    cd.duration = durationInMinutes;
    cdList.add(cd);
}

์ด๋ ฅ์„ ๊ธฐ๋กํ•˜๋Š” ์ฃผ์„

์ง€๊ธˆ์€ ์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ด ์žˆ์œผ๋‹ˆ ์ „ํ˜€ ํ•„์š”์—†๋‹ค.

* ๋ณ€๊ฒฝ ์ด๋ ฅ (11-Oct-2001๋ถ€ํ„ฐ)
* ------------------------------------------------
* 11-Oct-2001 : ํด๋ž˜์Šค๋ฅผ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๊ณ  ์ƒˆ๋กœ์šด ํŒจํ‚ค์ง•
* 05-Nov-2001: getDescription() ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€
* ์ดํ•˜ ์ƒ๋žต

์žˆ์œผ๋‚˜ ๋งˆ๋‚˜ ํ•œ ์ฃผ์„

/*
 * ๊ธฐ๋ณธ ์ƒ์„ฑ์ž
 */
protected AnnualDateRule() {
 
}

ํ•จ์ˆ˜๋‚˜ ๋ณ€์ˆ˜๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ฃผ์„์„ ๋‹ฌ์ง€ ๋งˆ๋ผ

// ์ „์—ญ ๋ชฉ๋ก <smodule>์— ์†ํ•˜๋Š” ๋ชจ๋“ˆ์ด ์šฐ๋ฆฌ๊ฐ€ ์†ํ•œ ํ•˜์œ„ ์‹œ์Šคํ…œ์— ์˜์กดํ•˜๋Š”๊ฐ€?
if (module.getDependSubsystems().contains(subSysMod.getSubSystem()))

์ฃผ์„์„ ์ œ๊ฑฐํ•˜๊ณ  ๋‹ค์‹œ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

ArrayList moduleDependencies = smodule.getDependSubSystems();
String ourSubSystem = subSysMod.getSubSystem();
if (moduleDependees.contains(ourSubSystem))

์œ„์น˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ฃผ์„

๋•Œ๋•Œ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์†Œ์Šค ํŒŒ์ผ์—์„œ ํŠน์ • ์œ„์น˜๋ฅผ ํ‘œ์‹œํ•˜๋ ค ์ฃผ์„์„ ์‚ฌ์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ตœ๊ทผ์— ์‚ดํŽด๋ณด๋˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋‹ค์Œ ํ–‰์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค.

// Actions /////////////////////////////////////////////

์ด๋Ÿฐ ์ฃผ์„์€ ๊ฐ€๋…์„ฑ๋งŒ ๋‚ฎ์ถ”๋ฏ€๋กœ ์ œ๊ฑฐํ•ด์•ผ ๋งˆ๋•…ํ•˜๋‹ค. ํŠนํžˆ ๋’ท๋ถ€๋ถ„์— ์Šฌ๋ž˜์‹œ๋กœ ์ด์–ด์ง€๋Š” ์žก์Œ์€ ์ œ๊ฑฐํ•˜๋Š” ํŽธ์ด ์ข‹๋‹ค. ๋„ˆ๋ฌด ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„๋•Œ๋งŒ ๋ฐฐ๋„ˆ๋Š” ๋ˆˆ์— ๋„๋ฉฐ ์ฃผ์œ„๋ฅผ ํ™˜๊ธฐํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•  ๋•Œ ์•„์ฃผ ๋“œ๋ชฐ๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ํŽธ์ด ์ข‹๋‹ค.

๋‹ซ๋Š” ๊ด„ํ˜ธ์— ๋‹ค๋Š” ์ฃผ์„

์ค‘์ฒฉ์ด ์‹ฌํ•˜๊ณ  ์žฅํ™ฉํ•œ ํ•จ์ˆ˜๋ผ๋ฉด ์˜๋ฏธ๊ฐ€ ์žˆ์„์ง€๋„ ๋ชจ๋ฅด์ง€๋งŒ ์ž‘๊ณ  ์บก์Šํ™”๋ฉด ํ•จ์ˆ˜์—๋Š” ์žก์Œ์ผ ๋ฟ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋‹ซ๋Š” ๊ด„ํ˜ธ์— ์ฃผ์„์„ ๋‹ฌ์•„์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค๋ฉด ๋Œ€์‹ ์— ํ•จ์ˆ˜๋ฅผ ์ค„์ด๋ ค ์‹œ๋„ํ•˜์ž.

๊ณต๋กœ๋ฅผ ๋Œ๋ฆฌ๊ฑฐ๋‚˜ ์ €์ž๋ฅผ ํ‘œ์‹œํ•˜๋Š” ์ฃผ์„

์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์€ ๋ˆ„๊ฐ€ ์–ธ์ œ ๋ฌด์—‡์„ ์ถ”๊ฐ€ํ–ˆ๋Š”์ง€ ๊ท€์‹ ์ฒ˜๋Ÿผ ๊ธฐ์–ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ €์ž ์ด๋ฆ„์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์˜ค์—ผ์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์—†์Œ.

/* ๋ฆญ์ด ์ถ”๊ฐ€ํ•จ */

์ฃผ์„์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ์ฝ”๋“œ

this.bytePos = writeBytes(pngIdBytes, 0);
//hdrPos = bytePos;
writeHeader();
writeResolution();
//dataPos = bytePos;
if (writeImageData()) {
    wirteEnd();
    this.pngBytes = resizeByteArray(this.pngBytes, this.maxPos);
} else {
    this.pngBytes = null;
}
return this.pngBytes;

1960๋…„๋Œ€ ์ฆˆ์Œ์—๋Š” ์ฃผ์„์œผ๋กœ ์ฒ˜๋ฆฌํ•œ ์ฝ”๋“œ๊ฐ€ ์œ ์šฉํ–ˆ์—ˆ์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ์šฐ์ˆ˜ํ•œ ์†Œ์Šค ์ฝ”๋“œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋ฅผ ๋Œ€์‹ ์— ์ฝ”๋“œ๋ฅผ ๊ธฐ์–ตํ•ด์ค€๋‹ค. ๊ทธ๋ƒฅ ์‚ญ์ œํ•˜๋ผ. ์žƒ์–ด๋ฒ„๋ฆด ์—ผ๋ ค๋Š” ์—†๋‹ค. ์•ฝ์†ํ•œ๋‹ค.

์ „์—ญ ์ •๋ณด

์ฃผ์„์„ ๋‹ฌ์•„์•ผ ํ•œ๋‹ค๋ฉด ๊ทผ์ฒ˜์— ์žˆ๋Š” ์ฝ”๋“œ๋งŒ ๊ธฐ์ˆ ํ•˜๋ผ. ์‹œ์Šคํ…œ์˜ ์ „๋ฐ˜์ ์ธ ์ •๋ณด๋ฅผ ๊ธฐ์ˆ ํ•˜์ง€ ๋งˆ๋ผ. ํ•ด๋‹น ์‹œ์Šคํ…œ์˜ ์ฝ”๋“œ๊ฐ€ ๋ณ€ํ•ด๋„ ์•„๋ž˜ ์ฃผ์„์ด ๋ณ€ํ•˜๋ฆฌ๋ผ๋Š” ๋ณด์žฅ์€ ์ „ํ˜€ ์—†๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‹ฌํ•˜๊ฒŒ ์ค‘๋ณต๋œ ์ฃผ์„๋„ ํ™•์ธํ•˜์ž.

/**
 * ์ ํ•ฉ์„ฑ ํ…Œ์ŠคํŠธ๊ฐ€ ๋™์ž‘ํ•˜๋Š” ํฌํŠธ: ๊ธฐ๋ณธ๊ฐ’์€ <b>8082</b>.
 *
 * @param fitnessePort
 */
public void setFitnessePort(int fitnessePort) {
    this.fitnewssePort = fitnessePort;
}