체인의정석

스마트컨트렉트를 포함한 로직의 PseudoCode 작성하기 본문

개발

스마트컨트렉트를 포함한 로직의 PseudoCode 작성하기

체인의정석 2022. 9. 2. 16:59
728x90
반응형

회사에서 특허에 대한 사항을 작성하기 위하여 Psudo code를 작성해 보았다.

지난학기 논문 작성 때도 Psudo Code를 작성해보려 했기 때문에 한번 이번 기회에 제대로 찾아보기로 하였다.

여기 글이 잘 되어 있는 것 같아서 참고하기로 하였다.

https://builtin.com/data-science/pseudocode

 

Pseudocode: What It Is and How to Write It

Pseudocode describes the distinct steps of an algorithm in a way that’s easy for anyone with to understand. Here’s how to write your own.

builtin.com

 

Psudo Code란? & 컨트렉트에서의 의사코드

데이터 과학이나 웹 개발에서 의사 코드는 기본적인 프로그래밍 지식을 가진 사람이라면 누구나 쉽게 이해할 수 있는 방식으로 알고리즘의 뚜렷한 단계를 설명하는 데 사용되는 기술이다.

 

스마트컨트렉트에서의 의사코드를 한번 살펴봤다.

https://medium.com/geekculture/smart-contracts-in-simple-words-and-pseudo-code-c53240d78c4a

 

Smart Contracts in Simple Words and With Pseudo Code

Many articles explain the smart contract from a technical point of view and give you a very cool screenshot, but this article is written in…

medium.com

Smart Contract gambling() 

if(Team A wins)
   pay Ether to Johnny
else
   pay Ether to Rio

이런식인데 기본 규칙을 지킨것 같지는 않아서 좀 정석대로 바꿔야 되는걸로 보인다.

 

https://www.researchgate.net/figure/Pseudo-code-for-Terms-and-Conditions-Smart-Contract_fig1_325392683

이 예시는 좀 괜찮아 보인다.

그렇지만 이렇게 까지 자세히 사용하는 것은 무리인거 같다.

 

1. 의사코드에서의 메인 요소들

  1. SEQUENCE represents linear tasks sequentially performed one after the other.
  2. WHILE a loop with a condition at its beginning.
  3. REPEAT-UNTIL a loop with a condition at the bottom.
  4. FOR another way of looping.
  5. IF-THEN-ELSE a conditional statement changing the flow of the algorithm.
  6. CASE the generalization form of IF-THEN-ELSE.

일단 모두 대문자로 써주는 것이 포인트이다.

1. 시퀀스 - 선형적인 작업들을 나타낸다

2. WHILE - 시작할때 넣어주는 loop 문

3. REPEAT-UNTIL - 조건이 만족될 때까지 반복

4. FOR - Looping에 대한 또다른 방법

5. IF-THEN-ELSE

6. CASE

 

일단 이런 단어들을 가져와서 상황에 맞게 써주여야 한다.

 

이 중 가장 크게 사용되는 명령어의 경우 

1. call 키워드를 사용하여 클래스를 부르거나

2. EXCEPTION, WHEN 키워드를 사용하여 예외를 처리하는 부분

이렇게 2가지가 대부분이라고 한다.

 

=> 일단 컨트렉트에서 특정 함수를 부를 때 CALL 이라는 명령어를 붙이고 결과 값이 중요한 경우 RETURNING을 붙여주어야겠다.

 

 

2. 의사코드 쓰는법

HOW TO WRITE PSEUDOCODE

  1. Always capitalize the initial word (often one of the main six constructs).
  2. Make only one statement per line.
  3. Indent to show hierarchy, improve readability, and show nested constructs.
  4. Always end multi-line sections using any of the END keywords (ENDIF, ENDWHILE, etc.).
  5. Keep your statements programming language independent.
  6. Use the naming domain of the problem, not that of the implementation. For instance: “Append the last name to the first name” instead of “name = first+ last.”
  7. Keep it simple, concise and readable.

의사 코드 쓰는 법

 

1. 항상 첫 단어는 대문자로 써준다. (위의 주요 6개 명령어중 하나를 사용)

2. 한줄에 하나의 statement 만 정의한다.

3. 인덴트 잘하기

4. 라인이 여러개인 부분은 END/ENDIF/ENDWHILE 등의 키워드를 사용해서 모두 END 까지 작성해준다.

5. 프로그래밍 언어는 독립적으로 유지한다.

6. 구현 도메인이 아닌 문제의 명명 도메인을 사용합니다. 예를 들어, "name = first+last" 대신 "성을 이름에 추가합니다." 이런식으로 쓸 것

7. 간단하고 읽기쉽게 쓴다.

 

너무 코드처럼 쓰지 말고 오른쪽으로 사용해야 겠다.

 

예를들어 트랜잭션을 보내는 부분은 CALL 컨트렉트이름.함수이름(파라미터) 를 쓰고 결과가 나오면 END를 각각 써준다.

728x90
반응형
Comments