うごイラ Tech Talks
͏͍ͯ͝ΔίʔυϨϏϡʔJUPDIBOIUUQJOTJEFQJYJWOFUFOUSZ ͏͝Πϥ5FDI5BMLT
View Slide
͏͝Πϥഒ
ൃදऀʹ͍ͭͯw ͍ͱ͓w !Jw IUUQJUPDIBOKQw ϐΫγϒΞϧόΠτʹಥೖw ॳΊͯձࣾͰ-5͠·͢
ൃදऀʹ͍ͭͯw "OESPJEΞϓϦ։ൃऀw ൃදऀͷதͰ࠷͏͝Πϥʹؔͯ͠ ݟ͕ͳ͍Ͱ͢
͏͝Πϥʹ͍ͭͯͪΐͬͱߟ͑ͯΈͨ | ΒΜͩΉ͚Μ͖Ύ͏͡ΐ!http://rndomhack.com/2014/07/04/%E3%81%86%E3%81%94%E3%82%A4%E3%83%A9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%A1%E3%82%87%E3%81%A3%E3%81%A8%E8%80%83%E3%81%88%E3%81%A6%E3%81%BF%E3%81%9F/l࣮ࡍͷ͏͝Πϥ5FDI5BMLTͳΜ͔ʹߦ͚͍͍͔͠Ε·ͤΜɻz
࣮ࡍͷΛ͠·͢
͏͝Πϥͱw ͏͘͝Πϥετͷུw දهͷΏΕ
͏͝Πϥͱw ͏͝ΠϥPS͏͘͝Πϥετ PS6HPJSBPS"OJNBUFE*MMVTUSBUJPOw ͏͝Πϥ͕ਖ਼໊ࣜশ͔Ͳ͏͔Θ͔Βͳ͘ͳ͖ͬͯͨw ͜ͷʹ͓͍ͯ͏͝ΠϥͰਐߦ͠·͢
ίʔυϨϏϡʔ ʹ͍ͭͯ
"OESPJEΞϓϦw ଞϓϩδΣΫτͰ(JU-BC͕ΘΕ͍ͯΔ͕ɺΞϓϦͱ͍͔ͭ͘ͷϓϩδΣΫτͰ(JU)VC͕ΘΕ͍ͯΔw ݱࡏ"OESPJEΞϓϦͷίʔυΛॻ͍͍ͯΔͷࣾһ໊ΞϧόΠτ໊
ϨϏϡʔͷྲྀΕ
1VMM3FRVFTUཱ͕ͭ
ϨϏϡʔͯ͠ʂཉٻߴ·Δ
ϨϏϡʔΛ͢Δ
Αͦ͞͏
Α͞
IUUQTUXJUUFSDPNUPUPUPTIJTUBUVTFT
-(5.-00,4(00%50.&IUUQXXXMHUNJOJ;6;
ಈ͖ॏཁ
ίʔυϨϏϡʔʹಈ͖Λ
͏͍ͯ͝ΔίʔυϨϏϡʔ
DPNNFOUT
BEEJUJPOTEFMFUJPOT
େྔͷมߋഭΓ͘Δίʔυ
్தͰϨϏϡΞ͕มΘͬͨΓͨ͠
มߋଟ͗ͯ͢ݟΕͳ͍
ͦ͜ΛͳΜͱ͔
ػೳ໘ͷϨϏϡʔલͷϨϏϡΞ͕طʹ͍͍͍ͩͨͬͯͨ
ओʹ࡞๏ͳͲͷΑ͘ͳ͍ίʔυΛϨϏϡʔͨ͠
ίʔυͷ
ਓͷϨϏϡΞ!@@DIPDPNFMPO!J
ྫ֎ΛQSJOU4UBDL5SBDF͠ͳ͍✘ Bad!1 try {2 // something code3 } catch (SomethingException e) {4 e.printStackTrace();5 }
ྫ֎ΛQSJOU4UBDL5SBDF͠ͳ͍✔ Good!1 try {2 // something code...3 } catch (SomethingException e) {4 // custom log utils5 LogUtils.e("PixivAndroidApp", "SomethingException", e);6 }
*%&͕ੜ͢ΔίϝϯτΛফ͢✘ Bad!1 package jp.pxv.android;23 /**4 * Created by Chobi on 2014/05/26.5 */67 public class CreatedByComment {IUUQTUBDLPWFSqPXDPNRVFTUJPOT
*%&͕ੜ͢ΔίϝϯτΛফ͢✔ Good!1 package jp.pxv.android;23 public class CreatedByComment {IUUQTUBDLPWFSqPXDPNRVFTUJPOT
ఆTUBUJDpOBMͰ1 public class Constants {2 // ✘ Bad3 private final String BAD_FOO = "foo";4 private final String BAD_BAR = "bar";56 // ✔ Good7 private static final String GOOD_FOO = "foo";8 private static final String GOOD_BAR = "bar";9 }
ม໊✘ Bad1 @Override2 public void onProgressChanged(float progressRate) {3 final float _progressRate = progressRate;4 uiThreadHandler.post(new Runnable() {5 @Override6 public void run() {7 if (_progressRate == 1) {8 progressBar.setVisibility(View.GONE);9 }10 }11 });12 }
ม໊✔ Good1 @Override2 public void onProgressChanged(final float progressRate) {3 uiThreadHandler.post(new Runnable() {4 @Override5 public void run() {6 if (progressRate == 1) {7 progressBar.setVisibility(View.GONE);8 }9 }10 });11 }
ଞʹw ্ྲྀϒϥϯνͰ͢Ͱʹมߋ͞Ε͍ͯΔͷ͕1VMM3FRVFTUͷϒϥϯνͰಉ͡มߋͷผͷDPNNJUΛ͍ͯ͠Δw ˠఆظతʹ্ྲྀϒϥϯνΛ git merge --no-ffͰऔΓࠐΊΑ͍
·ͱΊw มߋ͕ଟ͗͢ΔͱϨϏϡʔ͠ʹ͍͘w ϨϏϡʔΛසൟʹߦ͏ͳͲ͢Δඞཁ͕͋Δˠ1VMM3FRVFTUͷ୯ҐΛࡉ͔͘͢Δw ͏͔͝ͳ͍ίʔυΑΓ͏͘͝ίʔυͷ΄͏͕͍͍w ίʔυஅવ͖Ε͍ͳ΄͏͕͍͍
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠