Belge içeriği06 / 20

İşi anlayın06 / 20

Değişiklikleri niyete göre okuyun

Bu sayfada

Bir Ajan bir turda onlarca dosyayı değiştirdiğinde diff’leri dosya dosya gezmek, “bu değişiklikler ne içindi?” sorusunu yanıtlamayı zorlaştırır. Noea’da bir turun değişiklikleri yanıtladıkları niyete göre gruplanabilir; böylece her değişikliğin sizin hangi cümleniz için olduğunu görürsünüz. Hiçbir niyeti yanıtlamayan değişiklikler karışmaz, en sonda ayrıca listelenir.

Değişiklik kartından başlayın

Bir tur geride dosya değişiklikleri bıraktığında yanıt bir değişiklik kartıyla biter. Tek bir dosya değiştiyse başlığı “Edited grace.ts” gibi okunur; birkaç dosya değiştiyse “Changed 9 files” gibi okunur ve yanında eklenen ve çıkarılan satırlar görünür. Ajan’ın komut satırı üzerinden değiştirdiği dosyalar da sayılır.

Explain turu ele aldıktan sonra kartın ikinci satırı “2 intents · 1 unmatched” gibi okunur: değişikliklerin niyetinizin kaç parçasını yanıtladığı ve kaç değişikliğin hiçbirini yanıtlamadığı. O zamana kadar ikinci satır “Run Explain to group them” sunar.

Kartın herhangi bir yerine tıklayın; kod paneli, ana alanın en sağındaki yardımcı çubukta açılır ve turdaki tüm değişiklikleri gösterir. Sohbetin kendisi turun diff’ini yinelemez.

Kod paneli

Panelin üstü, sohbetin başlığını ve “Grace period email · Turn 2” gibi tur numarasını gösterir; aynı sohbette değişiklik içeren diğer turlara geçmenizi sağlar. Sağ üstteki düğme dosya listesini gösterir veya gizler; liste düz ya da klasöre göre gruplanmış olabilir. Her dosya eklenen ve çıkarılan satırlarını gösterir ve birine tıklamak oraya atlar. Her dosyanın başlığında “Open with default app” vardır.

Diff’te tek bir satır numarası sütunu vardır: eklenen ve değişmeyen satırlar yeni numaralarını, çıkarılan satırlar ise soluk olarak eski numaralarını gösterir. Değişiklikler arasındaki değişmemiş satırlar, açabileceğiniz tek bir satıra katlanır; tüm dosyaya kadar açılabilir. Bir dosya turdan sonra yeniden değiştiyse panel yalnızca bu turun değişikliklerini gösterir ve “Show current file” sunar.

Paneli genişletmek için yardımcı çubuğun sol kenarını sürükleyin. Kapatmak yalnızca yardımcı çubuğu katlar; solundaki belge ve sohbet olduğu gibi kalır.

Niyete göre gruplanmış

Panelin iki düzeni vardır: “By file” ve “By intent”. By intent düzeninde:

  • Her grup niyetinizin bir parçasıdır. Başlığı o paragrafın metnidir; içinde bulunduğu belge ve bölüm, üstünde küçük harflerle görünür. Gruplar, niyet belgelerinizdeki paragrafların sırasını izler.
  • Bir grubun içinde değişiklikler önce önemli noktaya, sonra dosyaya göre düzenlenir. Her önemli nokta, adıyla bir alt başlıktır; ardından küçük yazıyla Realization bölümünün ilk cümlesi gelir.
  • Her değişiklik yalnızca bir kez görünür. Birkaç önemli noktayı yanıtlıyorsa asıl olanın altına girer, diğerleri çip olarak ona asılır.
  • Son grup her zaman “Other changes”dir; hiçbir niyeti yanıtlamayan değişiklikler içindir.
“Denemeyi 21 güne uzat” turu 12 dosyayı değiştirdi. Niyete göre gruplandığında her değişiklik yanıtladığı cümlenin altında durur: TRIAL_DAYS sabitinin 14’ten 21’e çıkması, Deneme belgesindeki “Deneme süresi” altında yer alır.

Panelin hangi düzenle açılacağı, Explain’in turda ne kadar ilerlediğine bağlıdır:

ExplainŞununla açılır
Turu henüz ele almadıBy file
Sürüyor ve bu tura bağlı açıklamalar zaten varİlk açıklama yayımlandığında By intent’e geçer; hâlâ incelenen paragraflar grubunda bir yer tutar
Normal şekilde bittiBy intent
İncelenecek paragraf bulamadıBy file, “This turn didn't touch any explained intent.” notuyla

İstediğiniz zaman By file’a geri dönebilirsiniz.

Her değişiklik neyi yanıtlıyor

Her değişiklikte niyetiniz, hafiften ayrıntılıya üç katmanda görünür:

  • Satırların yanındaki işaretler: bir açıklamanın açıkça atıf yaptığı satırların solunda ince, nötr bir işaret vardır. Üzerine gelirseniz aynı açıklamanın atıf yaptığı diğer satırlar vurgulanır ve niyetin adı görünür.
  • Niyet çipleri: bir değişikliğin yanıtladığı önemli noktalar başlığına asılır, en fazla iki tane; geri kalanı “+N intents” altında katlanır. Bir çipin üzerine gelince paragrafın ve açıklamasının ilk cümlesinin önizlemesi görünür; tıklarsanız belge yandaki bölmede, o açıklama açık olarak açılır.
  • Niyet bloğu: her değişikliğin altında “2 intents · 1 gap” gibi katlanmış bir özet satırı vardır. Açın; değişikliğin yanıtladığı her paragrafın metnini ve en son açıklamasındaki dikkat maddelerini görürsünüz.

Bir değişiklik niyetinize üç yoldan birinden bağlanır: “Cited by Explain”, bir açıklamanın bu satırlara açıkça atıf yaptığı anlamına gelir; “Matched by lines”, değişikliğin bir açıklamanın atıf yaptığı satırların içine düştüğü anlamına gelir; “Judged unaffected”, Explain’in değişikliği kontrol ettiği ve o paragrafı etkilemediğini bulduğu anlamına gelir. Bir dosyanın çoğunu kapsayan ya da önceki içeriği Noea tarafından okunmak yerine Ajan tarafından bildirilen bir değişiklik satırlarla eşleştirilemez; panel bunu “Not grouped by lines” diye işaretler.

Niyetinizin tek bir parçasına süzün

Dosya listesinin üstündeki “Filter by intent”, yalnızca bir paragrafın ya da bir önemli noktanın değişikliklerini gösterir. Hiçbirini yanıtlamayan değişiklikleri görmek için “No matching intent”i seçin.

Ters yönde, niyetten değişikliklere de gidebilirsiniz. Bir niyet belgesinde bir paragrafın açıklamasını açın: notun sonundaki “Recent implementation”, onu yakın zamanda değiştiren turları listeler. Birini açtığınızda kod paneli o turda, zaten bu paragrafa süzülmüş olarak açılır.

Okuduktan sonra

“Other changes” mutlaka bir sorun değildir; çoğunlukla test yardımcıları, biçimlendirme ya da bağımlılık yükseltmeleridir. Ama iş mantığındaki bir değişiklik hiçbir niyeti yanıtlamıyorsa neden değiştiğini ve niyetinize ait olup olmadığını sormaya değer.

Sohbette Ajan’a sorun ya da paragrafın solundaki “Ask about this”e tıklayın. Saklamak istediğiniz kararlar için bkz. Üzerinde uzlaştığınızı niyete yazın.

Gruplama, Explain’in sonuçlarına bağlıdır. Kart sürekli “Run Explain to group them” gösteriyorsa Settings → Automation içinde “Explain automatically after implementing” ve “Explain code-only turns” ayarlarına bakın ya da doğrudan ona tıklayın; bkz. Kod değiştiğinde.