$30 off During Our Annual Pro Sale. View Details »

うごいてるコードレビュー

 うごいてるコードレビュー

うごイラ Tech Talks

Kazunori Jo

August 01, 2014
Tweet

More Decks by Kazunori Jo

Other Decks in Programming

Transcript

  1. ͏͍ͯ͝Δ
    ίʔυϨϏϡʔ
    JUPDIBO
    IUUQJOTJEFQJYJWOFUFOUSZ ͏͝Πϥ5FDI5BMLT

    View Slide

  2. View Slide

  3. ͏͝Πϥഒ

    View Slide

  4. ൃදऀʹ͍ͭͯ
    w ͍ͱ͓
    w !J
    w IUUQJUPDIBOKQ
    w ϐΫγϒΞϧόΠτ೥໨ʹಥೖ
    w ॳΊͯձࣾͰ-5͠·͢

    View Slide

  5. ൃදऀʹ͍ͭͯ
    w "OESPJEΞϓϦ։ൃऀ
    w ൃදऀͷதͰ࠷΋͏͝Πϥʹؔͯ͠

    ஌ݟ͕ͳ͍Ͱ͢

    View Slide

  6. ͏͝Πϥʹ͍ͭͯͪΐͬͱߟ͑ͯΈͨ | ΒΜͩΉ͚Μ͖Ύ͏͡ΐ!
    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

    View Slide

  7. ࣮ࡍͷ࿩Λ͠·͢

    View Slide

  8. ͏͝Πϥͱ͸
    w ͏͘͝Πϥετͷུ
    w දهͷΏΕ

    View Slide

  9. View Slide

  10. View Slide

  11. ͏͝Πϥͱ͸
    w ͏͝ΠϥPS͏͘͝Πϥετ

    PS6HPJSBPS"OJNBUFE*MMVTUSBUJPO
    w ͏͝Πϥ͕ਖ਼໊ࣜশ͔Ͳ͏͔Θ͔Βͳ͘
    ͳ͖ͬͯͨ
    w ͜ͷ৔ʹ͓͍ͯ͸͏͝ΠϥͰਐߦ͠·͢

    View Slide

  12. ίʔυϨϏϡʔ

    ʹ͍ͭͯ

    View Slide

  13. "OESPJEΞϓϦ
    w ଞϓϩδΣΫτͰ͸(JU-BC͕࢖ΘΕͯ
    ͍Δ͕ɺΞϓϦͱ͍͔ͭ͘ͷϓϩδΣ
    ΫτͰ͸(JU)VC͕࢖ΘΕ͍ͯΔ
    w ݱࡏ"OESPJEΞϓϦͷίʔυΛॻ͍ͯ
    ͍Δͷ͸ࣾһ໊ΞϧόΠτ໊

    View Slide

  14. ϨϏϡʔͷྲྀΕ

    View Slide

  15. 1VMM3FRVFTU
    ཱ͕ͭ

    View Slide

  16. ϨϏϡʔͯ͠ʂ
    ཉٻߴ·Δ

    View Slide

  17. ϨϏϡʔΛ͢Δ

    View Slide

  18. Αͦ͞͏

    View Slide

  19. Α͞

    View Slide

  20. IUUQTUXJUUFSDPNUPUPUPTIJTUBUVTFT

    View Slide

  21. -(5.
    -00,4(00%50.&
    IUUQXXXMHUNJOJ;6;

    View Slide

  22. ಈ͖ॏཁ

    View Slide

  23. ίʔυϨϏϡʔʹ
    ಈ͖Λ

    View Slide

  24. ͏͍ͯ͝Δ
    ίʔυϨϏϡʔ

    View Slide

  25. View Slide

  26. View Slide

  27. DPNNFOUT

    View Slide

  28. View Slide

  29. BEEJUJPOT
    EFMFUJPOT

    View Slide

  30. େྔͷมߋ
    ഭΓ͘Δίʔυ

    View Slide

  31. ్தͰϨϏϡΞ͕
    มΘͬͨΓͨ͠

    View Slide

  32. มߋଟ͗ͯ͢
    ݟΕͳ͍

    View Slide

  33. ͦ͜ΛͳΜͱ͔

    View Slide

  34. ػೳ໘ͷϨϏϡʔ͸
    લͷϨϏϡΞ͕طʹ
    ͍͍ͩͨ΍͍ͬͯͨ

    View Slide

  35. ओʹ࡞๏ͳͲͷ
    Α͘ͳ͍ίʔυ
    ΛϨϏϡʔͨ͠

    View Slide

  36. View Slide

  37. ίʔυͷ࿩

    View Slide

  38. ਓͷϨϏϡΞ
    !@@DIPDPNFMPO
    !J

    View Slide

  39. ྫ֎Λ
    QSJOU4UBDL5SBDF͠ͳ͍
    ✘ Bad
    !
    1 try {
    2 // something code
    3 } catch (SomethingException e) {
    4 e.printStackTrace();
    5 }

    View Slide

  40. ྫ֎Λ
    QSJOU4UBDL5SBDF͠ͳ͍
    ✔ Good
    !
    1 try {
    2 // something code...
    3 } catch (SomethingException e) {
    4 // custom log utils
    5 LogUtils.e("PixivAndroidApp", "SomethingException", e);
    6 }

    View Slide

  41. *%&͕ੜ੒͢Δ
    ίϝϯτΛফ͢
    ✘ Bad
    !
    1 package jp.pxv.android;
    2
    3 /**
    4 * Created by Chobi on 2014/05/26.
    5 */
    6
    7 public class CreatedByComment {
    IUUQTUBDLPWFSqPXDPNRVFTUJPOT

    View Slide

  42. *%&͕ੜ੒͢Δ
    ίϝϯτΛফ͢
    ✔ Good
    !
    1 package jp.pxv.android;
    2
    3 public class CreatedByComment {
    IUUQTUBDLPWFSqPXDPNRVFTUJPOT

    View Slide

  43. ఆ਺͸TUBUJDpOBMͰ
    1 public class Constants {
    2 // ✘ Bad
    3 private final String BAD_FOO = "foo";
    4 private final String BAD_BAR = "bar";
    5
    6 // ✔ Good
    7 private static final String GOOD_FOO = "foo";
    8 private static final String GOOD_BAR = "bar";
    9 }

    View Slide

  44. ม਺໊
    ✘ Bad
    1 @Override
    2 public void onProgressChanged(float progressRate) {
    3 final float _progressRate = progressRate;
    4 uiThreadHandler.post(new Runnable() {
    5 @Override
    6 public void run() {
    7 if (_progressRate == 1) {
    8 progressBar.setVisibility(View.GONE);
    9 }
    10 }
    11 });
    12 }

    View Slide

  45. ม਺໊
    ✔ Good
    1 @Override
    2 public void onProgressChanged(final float progressRate) {
    3 uiThreadHandler.post(new Runnable() {
    4 @Override
    5 public void run() {
    6 if (progressRate == 1) {
    7 progressBar.setVisibility(View.GONE);
    8 }
    9 }
    10 });
    11 }

    View Slide

  46. ଞʹ͸
    w ্ྲྀϒϥϯνͰ͢Ͱʹมߋ͞Ε͍ͯΔ
    ΋ͷ͕1VMM3FRVFTUͷϒϥϯνͰ΋ಉ
    ͡มߋͷผͷDPNNJUΛ͍ͯ͠Δ
    w ˠఆظతʹ্ྲྀϒϥϯνΛ

    git merge --no-ffͰऔΓࠐΊ͹
    Α͍

    View Slide

  47. ·ͱΊ
    w มߋ͕ଟ͗͢ΔͱϨϏϡʔ͠ʹ͍͘
    w ϨϏϡʔΛසൟʹߦ͏ͳͲ͢Δඞཁ͕͋Δ
    ˠ1VMM3FRVFTUͷ୯ҐΛࡉ͔͘͢Δ
    w ͏͔͝ͳ͍ίʔυΑΓ͸͏͘͝ίʔυͷ΄
    ͏͕͍͍
    w ίʔυ͸அવ͖Ε͍ͳ΄͏͕͍͍

    View Slide

  48. ͝ਗ਼ௌ͋Γ͕ͱ͏
    ͍͟͝·ͨ͠

    View Slide