지시서 5차: 실제 소스를 더 읽지 않는다
여기는 머지툴을 만드는 자리다. 남의 저장소를 읽을 까닭이 더 남아 있지 않고, 읽는 동안 사고가 날 여지만 있다. 이미 받아 둔 숫자 (XAML 400개, CP949 67개, 4,503개에 12.2초)는 그대로 쓴다. B-2 와 C-1 을 그에 맞게 다시 썼다. 둘 다 큰 재료가 필요한데, 이제 우리가 만들어 쓴다. 만든 묶음은 몇 번을 돌려도 같은 값이 나와서 재기에는 오히려 낫다. C-1 에는 그 한계도 같이 적었다 - 만든 소스에는 진짜 코드의 지저분함이 없다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
26446d5e6b
commit
9c0106be57
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
| 날짜 | 항목 | 커밋 |
|
| 날짜 | 항목 | 커밋 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|
| 2026-09-11 | **지시서 5차 고침** — 실제 소스를 더 읽지 않기로 함. 시험 재료는 우리가 만든다. B-2·C-1 을 그에 맞게 다시 씀 | 아래 |
|
||||||
| 2026-09-11 | **5차 B-1** — XAML 태그·속성·값을 갈라 칠함. 여러 줄에 걸친 여는 태그도 이어진다. 줄 넘김 상태를 깃발 묶음으로 넓혔다 | 아래 |
|
| 2026-09-11 | **5차 B-1** — XAML 태그·속성·값을 갈라 칠함. 여러 줄에 걸친 여는 태그도 이어진다. 줄 넘김 상태를 깃발 묶음으로 넓혔다 | 아래 |
|
||||||
| 2026-09-11 | **5차 A-2** — Git 작업을 시작하는 자리에서 묻게 함. 가려서 묻는 것은 접고 전부 묻는다. 덤으로 4차 A-1 이 새던 자리 셋을 막음 | 아래 |
|
| 2026-09-11 | **5차 A-2** — Git 작업을 시작하는 자리에서 묻게 함. 가려서 묻는 것은 접고 전부 묻는다. 덤으로 4차 A-1 이 새던 자리 셋을 막음 | 아래 |
|
||||||
| 2026-09-11 | **5차 A-1** — 실제 저장소 2,091개로 인코딩을 확인(깨짐 0). 판별 코드가 두 군데 복사돼 있던 것을 한 곳으로 모으고, CP949 를 한 이름으로 부르게 함 | 아래 |
|
| 2026-09-11 | **5차 A-1** — 실제 저장소 2,091개로 인코딩을 확인(깨짐 0). 판별 코드가 두 군데 복사돼 있던 것을 한 곳으로 모으고, CP949 를 한 이름으로 부르게 함 | 아래 |
|
||||||
|
|||||||
@ -4,8 +4,13 @@
|
|||||||
전제: 1~4차 지시서는 모두 끝났다([../진행상황.md](../진행상황.md)).
|
전제: 1~4차 지시서는 모두 끝났다([../진행상황.md](../진행상황.md)).
|
||||||
|
|
||||||
**이번 지시서가 앞과 다른 점** — 지금까지는 시험용 파일로만 확인했다.
|
**이번 지시서가 앞과 다른 점** — 지금까지는 시험용 파일로만 확인했다.
|
||||||
5차는 **실제 소스(`D:\Sorce\LGE-OC6-Inline-CylinderTypeWelder`)를 재 보고 나온 것**들이다.
|
5차는 **실제 소스를 한 번 재 보고 나온 것**들이다.
|
||||||
아래 숫자는 2026-09-10 에 실제로 센 값이다.
|
아래 숫자는 2026-09-10 에 실제로 센 값이다. 그 값은 그대로 둔다.
|
||||||
|
|
||||||
|
> **2026-09-11 부터 실제 소스를 더 보지 않는다.** 여기는 머지툴을 만드는 자리다.
|
||||||
|
> 남의 저장소를 읽을 까닭이 남아 있지 않고, 읽는 동안 사고가 날 여지만 있다.
|
||||||
|
> 재료가 필요하면 **우리가 만든 시험용 묶음**을 쓴다.
|
||||||
|
> 그래야 같은 시험을 몇 번이고 똑같이 돌릴 수 있어 오히려 재기에 낫다.
|
||||||
|
|
||||||
| 잰 것 | 값 |
|
| 잰 것 | 값 |
|
||||||
|---|---|
|
|---|---|
|
||||||
@ -27,8 +32,9 @@
|
|||||||
2. [../진행상황.md](../진행상황.md) 은 **대기 → 완료로 상태만**
|
2. [../진행상황.md](../진행상황.md) 은 **대기 → 완료로 상태만**
|
||||||
3. [../history/changelog.md](../history/changelog.md) 에 한 줄 — 날짜 · 무엇을 왜 · 커밋
|
3. [../history/changelog.md](../history/changelog.md) 에 한 줄 — 날짜 · 무엇을 왜 · 커밋
|
||||||
- **푸쉬하지 않는다.**
|
- **푸쉬하지 않는다.**
|
||||||
- **실제 저장소(`LGE-OC6-...`)를 고치지 않는다.** 읽기만 한다. 시험이 필요하면 사본을 뜬다.
|
- **실제 소스를 열지 않는다.** 고치지 않는 것은 물론이고 읽지도 않는다(2026-09-11 결정).
|
||||||
이건 남의 작업물이고, 우리 도구가 망가뜨리면 되돌릴 방법이 없다.
|
시험 재료는 **우리가 만들어 쓴다.** 남의 작업물이고, 우리 도구가 망가뜨리면 되돌릴 방법이 없다.
|
||||||
|
이미 받아 둔 숫자는 그대로 쓴다 - 다시 재려고 남의 폴더를 열 일이 아니다.
|
||||||
- 기존 검사 하네스 17벌(571건)은 계속 통과해야 한다. 로직을 건드리면 **테스트를 먼저 늘린다.**
|
- 기존 검사 하네스 17벌(571건)은 계속 통과해야 한다. 로직을 건드리면 **테스트를 먼저 늘린다.**
|
||||||
- 빌드 경고 0 · 오류 0 을 유지한다. 앱이 실행 중이면 `UbisamBase.Shell` 을 먼저 종료한다.
|
- 빌드 경고 0 · 오류 0 을 유지한다. 앱이 실행 중이면 `UbisamBase.Shell` 을 먼저 종료한다.
|
||||||
- 플랫폼을 고치면 다른 소비 프로그램에 미치는 영향을 함께 적고
|
- 플랫폼을 고치면 다른 소비 프로그램에 미치는 영향을 함께 적고
|
||||||
@ -79,9 +85,13 @@
|
|||||||
- **판정 기준**: 실제 XAML 파일(예: `UCManual*.xaml`)을 열었을 때 태그와 속성이 눈으로 갈린다.
|
- **판정 기준**: 실제 XAML 파일(예: `UCManual*.xaml`)을 열었을 때 태그와 속성이 눈으로 갈린다.
|
||||||
C# 파일의 색칠은 달라지지 않는다.
|
C# 파일의 색칠은 달라지지 않는다.
|
||||||
|
|
||||||
### B-2. 폴더 비교가 실제 저장소에서 12초 걸린다
|
### B-2. 폴더 비교가 큰 저장소에서 12초 걸린다
|
||||||
|
|
||||||
- 4,503개를 견주는 데 **12.2초**다. 멈춘 것처럼 보이지는 않지만(취소도 되고 진행도 보인다) 길다.
|
- 4,503개를 견주는 데 **12.2초**다(2026-09-10 실제 소스에서 잰 값). 멈춘 것처럼 보이지는 않지만
|
||||||
|
(취소도 되고 진행도 보인다) 길다.
|
||||||
|
- **재는 데 쓸 폴더는 우리가 만든다.** 실제 소스는 더 열지 않는다.
|
||||||
|
깊이·파일 수·크기 분포를 비슷하게 맞춘 묶음을 한 번 만들어 두고 그것으로 고치기 전후를 견준다.
|
||||||
|
만든 묶음이라 **몇 번을 돌려도 같은 값**이 나온다 - 오히려 재기에 낫다.
|
||||||
- **먼저 무엇이 오래 걸리는지 재고 보고한다.** 폴더를 훑는 시간인지, 파일을 여는 시간인지,
|
- **먼저 무엇이 오래 걸리는지 재고 보고한다.** 폴더를 훑는 시간인지, 파일을 여는 시간인지,
|
||||||
화면에 트리를 세우는 시간인지. 재지 않고 고치면 엉뚱한 데를 고친다.
|
화면에 트리를 세우는 시간인지. 재지 않고 고치면 엉뚱한 데를 고친다.
|
||||||
- 줄일 수 있는 자리를 찾아 고친다. 크기·수정 시각이 같으면 내용을 안 여는 길은 이미 있다(빠른 비교).
|
- 줄일 수 있는 자리를 찾아 고친다. 크기·수정 시각이 같으면 내용을 안 여는 길은 이미 있다(빠른 비교).
|
||||||
@ -93,14 +103,18 @@
|
|||||||
|
|
||||||
## C. 실전 투입
|
## C. 실전 투입
|
||||||
|
|
||||||
### C-1. 실제 저장소로 병합을 한 번 끝까지 해 본다
|
### C-1. 병합을 한 번 끝까지 해 본다
|
||||||
|
|
||||||
- 지금까지 3-Way 병합은 **데모 저장소로만** 확인했다. 실제 소스로 해 본 적이 없다.
|
- 지금까지 3-Way 병합은 **데모 저장소로만** 확인했다. 데모는 파일이 다섯 개다.
|
||||||
- **사본을 떠서** 한다(`LGE-OC6-...` 원본은 건드리지 않는다).
|
<b>한 번도 "긴 파일 여러 개에서 충돌이 여기저기 난" 상황을 겪어 본 적이 없다.</b>
|
||||||
브랜치 두 개를 만들어 같은 파일을 양쪽에서 고치고, 병합 → 충돌 → MergeHub 로 해결 → 커밋까지 간다.
|
- **저장소는 우리가 만든다.** 실제 소스는 열지 않는다.
|
||||||
|
데모보다 훨씬 크게 - 파일 수백 개, 그중 몇 개는 수천 줄, C# 과 XAML 을 섞어서 - 만들어 두고
|
||||||
|
브랜치 두 개에서 같은 파일을 양쪽에서 고친 뒤, 병합 → 충돌 → MergeHub 로 해결 → 커밋까지 간다.
|
||||||
|
- **이 방법의 한계를 알고 한다.** 만든 소스는 진짜 코드의 지저분함이 없다.
|
||||||
|
여기서 안 걸렸다고 실제에서 안 걸린다는 뜻은 아니다. 그래도 데모 다섯 파일보다는 훨씬 낫다.
|
||||||
- **고치지 말고 먼저 적는다.** 걸린 것 · 헷갈린 것 · 느린 것을 그대로 적어 보고한다.
|
- **고치지 말고 먼저 적는다.** 걸린 것 · 헷갈린 것 · 느린 것을 그대로 적어 보고한다.
|
||||||
그 목록이 6차 지시서가 된다.
|
그 목록이 6차 지시서가 된다.
|
||||||
- **판정 기준**: 사본 저장소에서 충돌 하나를 MergeHub 만으로 해결해 커밋까지 끝낸다.
|
- **판정 기준**: 만든 저장소에서 충돌 하나를 MergeHub 만으로 해결해 커밋까지 끝낸다.
|
||||||
그 과정에서 나온 문제를 목록으로 남긴다.
|
그 과정에서 나온 문제를 목록으로 남긴다.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@ -57,7 +57,9 @@
|
|||||||
|
|
||||||
진행 기록: [history/2026-09-11-5차.md](history/2026-09-11-5차.md)
|
진행 기록: [history/2026-09-11-5차.md](history/2026-09-11-5차.md)
|
||||||
지시서: [작업지시/5차.md](작업지시/5차.md). 지금까지는 시험용 파일로만 확인했다.
|
지시서: [작업지시/5차.md](작업지시/5차.md). 지금까지는 시험용 파일로만 확인했다.
|
||||||
5차는 실제 소스(`LGE-OC6-Inline-CylinderTypeWelder` · 2,115개 · 426,723줄)를 재 보고 나온 것들이다.
|
5차는 실제 소스(2,115개 · 426,723줄)를 한 번 재 보고 나온 것들이다.
|
||||||
|
2026-09-11 부터는 실제 소스를 더 보지 않는다 - 여기는 머지툴을 만드는 자리이고,
|
||||||
|
시험 재료는 우리가 만들어 쓴다. 이미 받아 둔 숫자는 그대로 쓴다.
|
||||||
|
|
||||||
### A. 남의 소스를 망가뜨릴 수 있는 것
|
### A. 남의 소스를 망가뜨릴 수 있는 것
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user