모듈로 이루어진 코드 이해하려면 어떻게 해야하나요?

pkiwan의 이미지

안녕하세요,

지금 계산용 코드를 하나 사용하고 있습니다.
여러 모듈로 이루어져 있고 각 모듈에 있는 식에 따라 array 변수에 값이 저장이 되면서 계산이 되는 코드입니다.
그런데 이 모듈 저 모듈에 있는 식들이 너무 많아서 도저히 따라갈 수가 없네요.

혹시 한 행씩 실행하면서 코드의 흐름을 따라갈 수는 없나요?

소스코드를 죽 봤지만 주석도 잘 안돼 있어서 매우 어렵습니다.

저를 좀 구원해주세요.

jos77의 이미지

개발 언어와 플랫폼이 뭔가요?
C / JAVA 겠죠? VS 나 eclipse 나 line 실행 break 다 가능할텐데... 안된다고 한다면 linux 환경의 gcc 인 듯 한데 그것도 gdb 로 한 라인씩 실행가능하고... 정 안되면 eclipse - mingW 로 eclipse C compiler 로 하면 될 겁니다

-----
안녕하세요 소프트웨어 공학센터 장원석 책임입니다.
http://www.software.kr

pkiwan의 이미지

제가 써야 하는 코드가 3종류인데요 두개는 포트란이고 하나는 C로 짜여졌습니다.
모두 유닉스상에서 구동하고 make을 실행한다음 생기는 실행파일을 구동시키면 compile된 module들 안의 함수들이 알아서 계산을 합니다.
모든 함수가 쓰이는 것이 아니기 때문에 한줄씩 흐름만 따라가도 코드이해에 정말 많은 도움이 될 것 같습니다.

감사합니다

익명 사용자의 이미지


포트란 모듈에 대해 나온 책은 한글로 된 책은 2권입니다.

1. 임성순 저, fortran 95 - 약간 사전처럼 되어있는 책인데, 문법은 꽤나 많이 말하고 있는데, 예제나 차근차근 해보며 익히는 책은 아닌 느낌이더군요. 가지고 있진 않은데.. 잠깐 봤을 때 그렇더라고요.

2. 공학도와 과학자를 위한 포트란 90입문, 입문서 답게 잘 설명되어 있고요. 후반에 모듈이나 이런 것들 나오는데.. 실전에 쓸만한 수준까진 부족하죠. 사실 포트란계에서 그 책 한 권정도 이해 하면 잘하시는 분 축에 들긴 할겁니다.

C 언어는 수 백권 있으니, 따로 설명할 필요가 없네요.

C언어와 Fortran을 같이 하는 것은 상호 Mixing 한 프로그래밍을 하는 것이니...

프로그래밍 "언어론"에서 나오는 매우 여러 배경상식이 좀 갖춰지는게 이해햐는게 좋습니다.

익명 사용자의 이미지

어느 정도 디버깅을 하면서 따라갈 수 있는데.. .

부분부분 에러난 곳을 보기위해 쓰는 게 아니라면,그건 프로그램 전체를 놓고 봐선 힘드실테고요

프로그래밍을 수월하게 도와주는 각종 도구들을 사용하는 법을 익히세요.

pkiwan의 이미지

사실 그런걸 찾고 있습니다.

감사합니다

익명 사용자의 이미지

먼저 모듈간 의존성 그래프 그려보세요
그 다음 함수간 의존성 그래프 그려보면 대충 윤곽은 잡힙니다
종이에다 대충 그적그적 하거나 양이 많으면 graphviz같은걸로 작성하세요
일반 다이아그램툴은 종이보다 쓰기불편하고
오브젝트 많으면 느려지고 수정도 어렵거든요

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.