파일 내 함수 길이를 출력해주는 프로그램 아시는분

pynoos의 이미지

파일 내 함수별 라인수를 구하는 프로그램을 찾습니다.

cvs 에 commit 할 때, 함수 하나의 길이가 30 줄이 넘으면
commit 실패가 나게하려는데, 함수 리스트와 함수 길이를
stdout 으로 출력해주는 프로그램이 있으면 좋겠습니다.

codebank의 이미지

제가 아는 프로그램중엔 그런게 없는데...
재미있는 프로그램이 되겠군요.
한번 만들어 봐야겠네요.
다행이 예전에 TAB을 SPACE로 변환시키던 프로그램 자료가 남아있어서
한번 도전해 봐야겠군요. :)

------------------------------
좋은 하루 되세요.

버려진의 이미지

int a;char b;long c; 는 한줄이어야 하나요 세줄이어야 하나요? :)

pynoos의 이미지

pyj200 wrote:
int a;char b;long c;
는 한줄이어야 하나요 세줄이어야 하나요? :)

이런 질문이 나올 줄 알았습니다. ^^;

기본적으로 indent를 사용하여 임의로 indentaion에 대한 것은 전처리가 됩니다.
물론 전처리후에 나온 정확한 포맷으로 하면 perl, awk 등으로 간단하게 함수 길이를 구할 수 있는데, 제가 원하는 것은 일반적인것이라서요..

http://www.gnu.org/software/indent/indent.html

indent는 위의 것을 사용하지요.

송지석의 이미지

indent 되어있다면 혹시
type 함수명()
{
...
}
이렇게 되어있나요?
그러면 {와 } 사이를 세는 스크립트를 짤 수 있을 것 같습니다만...

ㅡ,.ㅡ;;의 이미지

pynoos wrote:
파일 내 함수별 라인수를 구하는 프로그램을 찾습니다.

cvs 에 commit 할 때, 함수 하나의 길이가 30 줄이 넘으면
commit 실패가 나게하려는데, 함수 리스트와 함수 길이를
stdout 으로 출력해주는 프로그램이 있으면 좋겠습니다.

직접하나 짜는게 재밋을꺼 같네요..ㅎㅎ
원하는데로 입맛데로도 되고요..
심심할때 짜볼만한분량정도 되겠네요..


----------------------------------------------------------------------------

김충길의 이미지

30줄이면 너무 작은편 아닌가요?

pynoos wrote:
파일 내 함수별 라인수를 구하는 프로그램을 찾습니다.

cvs 에 commit 할 때, 함수 하나의 길이가 30 줄이 넘으면
commit 실패가 나게하려는데, 함수 리스트와 함수 길이를
stdout 으로 출력해주는 프로그램이 있으면 좋겠습니다.

screen + vim + ctags 좋아요~

pynoos의 이미지

김충길 wrote:
30줄이면 너무 작은편 아닌가요?

pynoos wrote:
파일 내 함수별 라인수를 구하는 프로그램을 찾습니다.

cvs 에 commit 할 때, 함수 하나의 길이가 30 줄이 넘으면
commit 실패가 나게하려는데, 함수 리스트와 함수 길이를
stdout 으로 출력해주는 프로그램이 있으면 좋겠습니다.

작으면 늘이죠머.. 중요한 것은 아니니.. 대략 한 화면에 들어올 수 있는 크기 이하면 됩니다. 그래도 70줄은 안넘겠죠?

100줄 넘는 함수가 많아서리..

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.