LoginSignup
161
29

More than 5 years have passed since last update.

君のLGTMは。

Last updated at Posted at 2017-12-02

こちらはフロムスクラッチ Advent Calendar 2017の2日目の記事です。

はじめに

ソフトウェア開発のためにGitHubを利用される開発者の皆さんも多いかと思います。自身も現職から本格的にソフトウェア開発でGitHubを利用しています。
またそれに伴いGitHub上でソースコードレビューすることも多くなってきました。今回はそんなソースコードレビューをするに当たって必要不可欠なLGTMについて。

LGTMとは

レビュー時にはお馴染みのLGTMは"Looks Good To Me"の略となります。これはレビューワーがレビューを行なって際に問題がなかった場合には「自分としては問題ありませんよ」ということを表すために用いられる表現となります。
LGTM以外にも以下の英略語がGitHub上では見かけられます。

  • FYI ("For Your Information”)
    ビジネス用語としても馴染み深い方も多いと思いますが、「参考までに」という意味になります。

  • AFAIK ("As Far As I Know")
    こちらは「私の知る限りでは」という意味になります。質問などに対して、自分の知ってることとして答える時に用いられます。

  • TBD ("To be determined")
    今は仕様などがはっきり決まっていない時など、「あとで決める」という意味で用いられます。

この他にもさまざまな英語略が存在するので、興味ある方は色々と調べて見ると面白いかもしれませんね。
このようにGitHub場ではさまざまな英語略の表現が用いられますが、弊社では特に最初に紹介したLGTMがレビューワーを中心に使われます。

さまざまなLGTM

上記でお伝えしたように、LGTMはレビューワーがレビューを行い、特に問題ない時にコメントとして記述します。
著者も以下のように、日々の業務としてレビューを行なった際に「LGTM」をコメントとして残すことが多いです。

スクリーンショット 2017-12-02 17.02.45.png

しかし上記のようなコメントだけのLGTMでは飽き足らず、画像を貼り付けてホコッリしたり癒されたりしようという文化が弊社にも存在します。
LGTM画像は LGTM.in や、GIPHY などが有名であり、LGTMをする際にコピペして利用することができます。

LGTM画像の作成

今回はそんなLGTM画像を自分で作成することを目的にプログラムしました(さまざまなLGTM画像ジェネレータサイトがあることはおいといて...)。

まずLGTM画像の元となる画像として自身が日頃サムネイル画像として用いている以下の画像を利用しました(札幌雪祭りでとったムックの画像)。

69.jpg

次にPythonとPILを用いて、ちょこっとプログラム...

gen_lgtm.py
# coding: utf-8

import sys 
import optparse
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

FONT_DEFAULT = "./Baloo-Regular.ttf"
STRING_DEFAULT = "LGTM!"
OUT_DEFAULT = 'LGTM.jpeg'

parser = optparse.OptionParser()
parser.add_option('-s', action="store", default=60, type="int")
parser.add_option('-x', action="store", default=10, type="int")
parser.add_option('-y', action="store", default=10, type="int") 
parser.add_option('-c', action="store", default="#FFFFFF")
parser.add_option('-f', action="store", default=FONT_DEFAULT)
parser.add_option('-t', action="store", default=STRING_DEFAULT)
parser.add_option('-o', action="store", default=OUT_DEFAULT)

def main():
  # コマンドライン引数の取得
  options, args = parser.parse_args()
  fonr_size = options.s
  x = options.x
  y = options.y
  color = options.c
  font = options.f
  text = options.t
  out = options.o

  # 画像の読み込み
  img = Image.open(args[0])
  print('Image Size :', img.size)
  draw = ImageDraw.Draw(img)
  font = ImageFont.truetype(font, fonr_size, encoding='utf-8')
  draw.text((x,y), text, font=font, fill=color)
  img.save(out)

if __name__ == "__main__":
  main();

コマンドライン引数で色々とパラメータを調整して、出来上がったLGTM画像がこちら。

LGTM.jpeg

早速使ってみました...

スクリーンショット 2017-12-02 17.45.56.png

まとめ

このように自分でつくったLGTM画像を利用することによって、レビューも少しだけ楽しくなるかもしれません(LGTMが目的となり本来のレビューがおろそかになってはいけませんが)。

皆さんも自身で作成したLGTM画像で素敵なLGTMライフを過ごしてはいかがでしょうか?

明日のフロムスクラッチ Advent Calendar 2017の3日目は@S_Haraguchiさんです。

161
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
161
29