Jak nazwać funkcję podmieniającą całość na podzbiór?

0
cerrato napisał(a):

Dla mnie retain nie jest intuicyjne.
Sam wiele razy podkreślałeś, że zależy CI na zmianie elementu. Za to słowniki podają, że retain oznacza:

utrzymać zatrzymać utrzymywać pozostawić zostawić zachować gromadzić

Więc chyba ta nazwa jednak nie oddaje tego, co chcesz osiągnąć/zrobić.

No ja to rozumiałem że jak zrobisz retain() na CD, to on wyrzuci wszystko, a "zachowa" tylko to CD.

Ale może masz rację.

2

@TomRiddle: Nie zazdroszczę Twoim kolegom z zespołu podczas code review :D

0
TomRiddle napisał(a):

Pomoc wizualna #2:

funkcja.cd.jpg

  • Są 4y obiekty (pudełka na płytki)
  • Wywołuję funkcje na trzecim obiekcie
  • Trzeci obiekt (pudełko) jest podmienione jego zawartością (cd)
  • Wywołuję funkcję na drugim obiekcie
  • Drugi obiekt jest podmieniony przez swoją zwartośc (cd)

extractOne, lub bardziej ogólnie mapOne, transformOne? A może użyjesz jakiejś istniejącej konstrukcji (map, filter) i dodasz na ilu/jakich elementach ma się wykonać (mapIf, mapN)?

0
iksde napisał(a):

extractOne, lub bardziej ogólnie mapOne, transformOne? A może użyjesz jakiejś istniejącej konstrukcji (map, filter) i dodasz na ilu/jakich elementach ma się wykonać (mapIf, mapN)?

extractOne() brzmi jak wyciąganie, ale nie jak podmiana całości na wyciągnięty.

mapOne(), transformOne(), map() są zbyt ogólne bo sugerują że można:

  • Zamienić całość na coś zupełnie innego
  • Zamienić podelement na coś zupełnie innego

filter() nie pasuje, bo funkcja ma nie dotknąć innych elementów, tylko jeden.

3

Może takeOnMe()?
Przynajmniej melodyjne, zwłaszcza w dobrym wykonaniu:

1

unload i ogolnie to pytanie nie ma sensu bo chodzi o niszowe zastosowanie "generycznej" nazwy. W takich sytuacjach dopisujesz kontekst i jedziesz.
Kontekst moze byc albo tylko w glowie, albo w slowniku nazewnictwa dla projektu albo w nazwie: "unloadKartonAndThrowAwayIfEmpty".

0
vpiotr napisał(a):

unload

Load brzmi jak operacje na zasobach, np socketach, plikach, etc. A ta operacja ma być raczej szybką operacją in-memory :D Także load albo fetch mi nie pasuje.

i ogolnie to pytanie nie ma sensu bo chodzi o niszowe zastosowanie "generycznej" nazwy. W takich sytuacjach dopisujesz kontekst i jedziesz.
Kontekst moze byc albo tylko w glowie, albo w slowniku nazewnictwa dla projektu albo w nazwie: "unloadKartonAndThrowAwayIfEmpty".

Nie mogę tego zrobić bo:

  1. Ta funkcja ma mieć wiele zastosowań, i być wyższą formą abstrakcji nad taką zwykłą podmiankę.
  2. Chcę zrobić coś takiego
interface Dupable {}

class A implements Dupable {
  Dupable b;
}
class B implements Dupable {}

i zrobić

Dupable x = dupuj(new A(b)); 
x == b; // wyciągnięto "b" z "a".

Co w sumie wygląda jak odwrotny kompozyt, co wyjaśnia czemu @cerrato zaproponował decompose().

@vpiotr I zanim mi powiesz że to zjebany pomysł, bo nie widzisz szerszego kontekstu i nie widziałeś aplikacji którą piszę, proszę zaufaj mi że implementacja jest ok, bo ją akurat przemyślałem wiele razy. Potrzebuję to nazwać tylko dobrze :)

0

Dalej myślę o drzewach (trzypoziomowe drzewo to dalej drzewo) więc replaceByChild lub replaceByElement

3

a może doWhatTomRiddleWant() :D

0
KamilAdam napisał(a):

Dalej myślę o drzewach (trzypoziomowe drzewo to dalej drzewo)

A dwupoziomowe? Rozumiem że class A { B field } to też drzwo?

więc replaceByChild lub replaceByElement

Szukam jednego słowa najlepiej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0