팩맨에서는 --refresh
및 -y
동일한 옵션이 있습니다. 그러나 그들 사이의 음성학적 관계는 무엇입니까? 니모닉이 있나요?
비교를 위해: 많은 바이너리의 경우 -f
" --force
f"가 "force"에서 파생되는 방식이 분명합니다. :)
답변1
있다고 하네요컴퓨터 과학의 두 가지 어려운 질문. 그 중 하나가 이름을 짓는 것입니다. 이것은 효과입니다.
데이터베이스 동기화 기능은 원래 pacsync
1.23에서 별도의 명령으로 추가되었습니다. 이 명령은 나중에 pacman
버전 2.0 에 병합되어 /를 pacman
포함한 많은 새로운 옵션을 얻었습니다 . 내부적으로 이는 여전히 a에서 처리되며 데이터베이스를 새로 고치는 작업을 동기화라고 합니다( old 에서는 하위 명령 , new 에서는 function ). 이제 기본 옵션이 있으므로 데이터베이스 동기화의 하위 옵션을 어떻게 처리합니까? 나는 추측한다:--sync
-S
pacsync.c
sync
pacsync
sync_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년)에 일어났으며 검색에서 온라인 토론을 찾을 수 없지만 이것이 일어난 일이라고 확신합니다.