팩맨의 "--refresh"와 "-y" 옵션 사이의 음성학적 연결은 무엇입니까?

팩맨의 "--refresh"와 "-y" 옵션 사이의 음성학적 연결은 무엇입니까?

팩맨에서는 --refresh-y동일한 옵션이 있습니다. 그러나 그들 사이의 음성학적 관계는 무엇입니까? 니모닉이 있나요?

비교를 위해: 많은 바이너리의 경우 -f" --forcef"가 "force"에서 파생되는 방식이 분명합니다. :)

답변1

있다고 하네요컴퓨터 과학의 두 가지 어려운 질문. 그 중 하나가 이름을 짓는 것입니다. 이것은 효과입니다.

데이터베이스 동기화 기능은 원래 pacsync1.23에서 별도의 명령으로 추가되었습니다. 이 명령은 나중에 pacman버전 2.0 에 병합되어 /를 pacman포함한 많은 새로운 옵션을 얻었습니다 . 내부적으로 이는 여전히 a에서 처리되며 데이터베이스를 새로 고치는 작업을 동기화라고 합니다( old 에서는 하위 명령 , new 에서는 function ). 이제 기본 옵션이 있으므로 데이터베이스 동기화의 하위 옵션을 어떻게 처리합니까? 나는 추측한다:--sync-Spacsync.csyncpacsyncsync_synctree()pacsync.c--sync

  • 개발자들은 이를 --refresh긴 옵션, 합리적인 이름으로 부르기로 결정했습니다.
  • 하지만 --sync코드에서 동기화 이름이 지정된 항목을 두 번째 옵션으로 처리하여 존중하세요.현명하게 이름을 지어라
  • 따라서 두 개의 긴 옵션이 동일한 첫 번째 문자를 가질 때 일반적으로 수행되는 것처럼 짧은 옵션의 두 번째 문자로 이동합니다 -y.

이를 뒷받침하는 요소로 -Sy"sync"의 처음 두 글자가 조합이 될 것이다.

옵션 처리를 위한 코드의 일부:

while((opt = getopt_long(argc, argv, "ARUQSTYr:vhscVfnoldpiuy", opts, &option_index))) {
    if(opt < 0) {
        break;
    }
    switch(opt) {
...
        case 'y': pmo_s_sync = 1; break;

모든 일은 약 15년 ​​전(2002년)에 일어났으며 검색에서 온라인 토론을 찾을 수 없지만 이것이 일어난 일이라고 확신합니다.

관련 정보