Termo oposto de travessão [fechado]

11

Dizemos que recuamos o código. Estou escrevendo um construtor de strings que pode adicionar / remover guias para recuar o código.

Amostra:

builder.Add("<ul>");
builder.Indent();
builder.Add("<li></li>");
builder.Dedent(); // <-- what should this be named.
builder.Add("</ul>");   

Como devo nomear o método?

jgauffin
fonte
3
É um pouco estranho, mas: talvez você evite chamar explicitamente o recuo / recuo se você substituir as chamadas Add ("<ul>") e Ident () por um BeginElement ("ul") que inclua lógica de recuo. (e também um método EndElement claro)
David
@ David: +1, mas é claro que você gostaria de ter elementos em linha aninhados em conta :)
Demian Brecht
11
Que tal outdent?
Kevin
@ Kevin: Ótima alternativa, mas por que você não a adiciona como resposta?
jgauffin
@ David: É usado dentro de uma estrutura e não exposto ao usuário (embora a classe seja pública, para que o usuário possa usá-la para seus próprios fins). Também pode ser usado para mais do que apenas marcação, por isso BeginElementnão é apropriado.
jgauffin

Respostas:

24

Out é o oposto de in, todo mundo sabe disso. Por que não usar Indent()e Outdent()?

Kevin
fonte
Isso é o que eu sempre chamei de pelo menos.
precisa saber é o seguinte
Mesmo aqui, eu sempre ouvi isso chamado outdent.
Brian Knoblauch
17

Pelo contrário indent, eu usaria unindent. Origem: Wikcionário:

desinteressado

Etimologia
un- + recuo; Originado na década de 1980, quando os computadores tornavam trivial para qualquer um mover texto em uma página.
Verbo
Unindent ( de terceira pessoa singular do presente simples iniciais remove a indentação , particípio presente unindenting , passado simples e particípio passado sem recuo )
1. Para remover o recuo; para mover um bloco de texto para mais perto da margem esquerda.
Eu tive que desentender a primeira linha de cada parágrafo para que meu ensaio caísse em um lado do papel.

De acordo com o Online Etymology Dictionary , o recuo vem de:

no início de 15c., indenten / endenten "para fazer entalhes; para dar (algo) uma aparência dentada ou irregular", também "para fazer uma escritura legal", de O.Fr. insira "para entalhar ou amassar , dê uma borda serrilhada a", de ML indentare ", para fornecer dentes", de "a" em, em, a "(veja em (2)) + L. dens (gen . dentis ) "dente" (ver dente). Relacionado: Recuado; recuo . O sentido da impressão é atestado pela primeira vez em 1670. O substantivo é registrado pela primeira vez em 1590, a partir do verbo. Um sentido substantivo anterior de "um acordo por escrito" (final de 15c.) É descrito no Dicionário de Inglês Médio como "scribal abrev. Of endenture ".

Portanto, recuar é como colocar um "entalhe" no código fonte. Para remover esse entalhe, você desfaz o recuo: unindent.

Hugo
fonte
16
Indent
Dedent

Para fazer backup, um rápido google ajuda: o unindent tem 290.000 hits, enquanto o dedent tem 1.920.000 hits, dando uma indicação aproximada de que o último é mais amplamente usado. Embora isso deva ser usado como argumento com muito cuidado.

Dedenttambém é a terminologia padrão usada nos documentos python .

dagnelies
fonte
2
De fato, "dedent" possui apenas 321.000 ocorrências quando você as coloca entre aspas e muitas delas não têm nada a ver com indentação, mas são nomes ou outras coisas (termos de dentista, talvez?). "unindent" tem 267.000 hits.
Falcon
2
Dedent não é uma palavra em inglês real. Uma boa API é clara e facilmente compreendida por qualquer pessoa que esteja lendo a fonte (por mais que eu goste de Python, isso me apresentou uma peculiaridade da qual não gosto nada). Ao lado do outro, isso faz sentido, mas pode não ser de outra forma (ou para alguém que não é muito fluente em inglês).
Demian Brecht
1
@ Demian Claro que é uma palavra em inglês, estamos usando. Como poderíamos usá-lo se não existisse? O inglês não é um idioma prescritivista fortemente regulamentado.
Konrad Rudolph
6
Bem, "ultrapassado" tem quase 14 milhões de acessos.
Mike Sherrill 'Cat Recall'
2
@Demian Brecht: É apenas um neologismo. Como programador, você está imerso neles diariamente. Acostume-se a isso.
Jon Purdy
12

Você não quer dizer travessão ?

Intender significa algo completamente diferente.

Caso contrário, talvez Unindent?

Em uma nota lateral:

  • Usar guias para recuar o código é ruim (imho) - os espaços são mais portáteis.
  • Eu não teria essa API exposta ao cliente. O builderdeve ser inteligente o suficiente para saber o que fazer e o que não recuar.
Demian Brecht
fonte
4
O post de Jeff Atwood não diz por que usar guias é ruim. Ele simplesmente lança um insulto aos usuários da guia no final.
Peter Taylor
16
"os espaços são mais portáteis": o que diabos isso significa?!?!? ... Além disso, eu não concordo que as guias sejam ruins, na verdade, eu pessoalmente as acho boas . É mais limpo, mais fácil de analisar e permite que o usuário escolha como deve ser representado na exibição. Não vejo nenhuma desvantagem negativa sobre eles, em contraste com os espaços que não têm as vantagens mencionadas anteriormente.
Dagnelies 6/09/11
3
@arnaud: você deve ler as guias versus espaços. é em grande parte um debate religioso, mas, em minhas experiências, os espaços sempre prevaleceram ( especialmente se você estiver trabalhando em um projeto de sistema operacional ou tiver vários desenvolvedores que usam editores diferentes). realmente, no final das contas, o importante é a consistência.
Demian Brecht
2
O melhor é ter um editor que coloque automaticamente os espaços X ao pressionar Tab.
Jose Faeti 6/09/11
2
@ Konrad: Cite um editor que não suporta guias?
precisa saber é o seguinte
5

Que tal SetIndentLevel(int level).

A remoção de um recuo é apenas definir o nível como 0. Afaik não há termo para o oposto desta operação.

Falcão
fonte
+1 - Essa é uma abordagem melhor do que duas chamadas de função para aumentar e diminuir o nível de recuo.
Mcottle
6
Não tenho certeza se é melhor que 2 métodos. O uso de métodos setIndentLevel significa que é sua responsabilidade lembrar o quão profundo foi o recuo no caso de elementos aninhados no documento. Isso significaria manter um balcão. Não, definitivamente isso deve ser responsabilidade do construtor, não sua.
David
1
@ David: Você pode criar facilmente dois métodos de wrapper para acompanhar isso. Em alguns casos, pode ser melhor ou mais fácil de usar, enquanto em outros casos não é. Com uma outra interface, você teria que chamar um método de aumento / diminuição várias vezes ou em um loop. Então eu provavelmente gostaria todas as três versões: Set / aumentar / diminuir
Falcon
1
@ David setIndentLevel(1 + getIndentLevel())- o melhor dos dois mundos.
21413 Izkata
5

A palavra "recuo" na verdade não significa "inserir espaço em branco" - significa "ajustar o espaço em branco para que as coisas se alinhem". Como tal, recuar pode significar adicionar ou remover guias; assim como não há oposto a "andar", conceitualmente falando, não há oposto a "recuo". Você pode remover o recuo, desfazer o recuo ou alterar o nível de recuo, cada uma das operações que de alguma forma revertem ou alteram os efeitos do recuo, de maneiras diferentes, mas nenhuma delas é "o" oposto ao recuo. O popular "dedent" e "unindent" estão errados da mesma maneira que "desalojar" ou "desafiar". (BTW, isso pode ser uma boa pergunta para english.se)

No seu caso, eu iria com IncreaseIndentationLevele DecreaseIndentationLevel.

tdammers
fonte
1
O english.se não gosta muito de discutir termos de programação.
jgauffin
É mais um termo tipográfico do que um termo de programação, mas tudo bem.
tdammers 6/09/11
"Indenção", não "indentação".
Mike Sherrill 'Cat Recall'
1
Concordado, "Aumentar avanço" e "Diminuir avanço" são os termos corretos, a rigor. Eu esperaria que fosse uma linguagem que os programadores usassem e entendessem. Você usa "aceleração negativa" quando fala em parar o carro, não é?
StevenV
4

Eu vi a palavra "ultrapassado", por exemplo, na Wikipedia Predefinição: Página ultrapassada

Por recuar uma resposta em uma página de discussão quando a indentação se torna muito profunda. O recuo nas páginas de discussão é feito usando um caractere de dois pontos (:) para produzir guias; esse modelo produz uma barra de conexão e o texto inicial para indicar um recuo, com base no número de dois pontos usados ​​no recuo anterior ...

Hans Keing
fonte
2

Eu vi Dedentno livro de Fowler sobre DSLs.

Andrey Agibalov
fonte
2

FWIW O Google Docs e o MS Word usam "Aumentar avanço" e "Diminuir avanço". Esqueço qual editor (talvez tenha sido o TinyMCE, trabalhando com isso ultimamente), mas sei que vi uma vez "Indent" e "Outdent"

Wayne Molina
fonte
1

Definição de Recuo:

Comece (uma linha de texto) ou posição (um bloco de texto, tabela etc.) mais longe da margem do que a parte principal do texto

Na verdade, não existe um oposto disso; você está recuando o texto principal além da linha especificada.

Eu acho que um termo melhor seria RemoveIndent () ou ReduceIndent ()

Dito isto, uma pesquisa no google pelo termo "oposto ao travessão" revela o seguinte termo: Outdent . http://www.urbandictionary.com/define.php?term=indent Isso também pode ser adequado.

Gavin Coates
fonte
Outdent é tão feio quanto dedent. O "in" no "recuo" não é um prefixo, na verdade, substituí-lo como se fosse um abuso da gramática inglesa.
tdammers 6/09/11
@ Tdammers - em certo sentido, é. Você está dobrando o parágrafo para dentro, então o oposto seria dobrá-lo para fora - Recuar. Pessoalmente eu prefiro Remover / ReduceIndent () embora para um nome de função ...
Gavin Coates
1
@ Tdammers: Aparentemente, o "in" no travessão é um prefixo ("into, in, on, upon" - etymonline.com/index.php?term=indent ). Não que isso importe - eu não vejo nada "abusivo" sobre etimologia popular ( en.wikipedia.org/wiki/Folk_etymology ); faz parte da evolução da linguagem. E eu discordo que o outdent é tão feio quanto o dedent . Não tenho certeza de qual sílaba enfatizar em dedent ; é muito feio de qualquer maneira. Mas superar é agradável e óbvio. É um complemento perfeito para recuar . As duas palavras criam um belo par que se define com um contraste muito visual. Eu gosto disso.
callum
Desculpe, acabei de perceber que não li essa pergunta ou suas respostas corretamente ... Eu estava assumindo que se tratava da exibição automática de linhas quebradas em um editor de texto. Nesse caso, recuar (significando a opção de exibir uma linha mais à esquerda do que a linha acima) seria perfeito na minha opinião. Mas essa pergunta é sobre remover um recuo que já existe - como o que acontece quando você pressiona Shift + Tab. Nesse caso, eu concordo com reduceIndent(), ou mesmo unindent().
Callum
Fiz minha própria pesquisa; sim, o "in" é realmente um prefixo, mas como callum afirma, "outdent" significaria uma linha que começa à esquerda da borda esquerda. IIRC, tal coisa é chamada de recuo negativo na composição tipográfica, não um recuo, e não é disso que estamos falando aqui de qualquer maneira.
tdammers
0

Eu sei que estou um pouco atrasado para a festa, mas só tive o mesmo problema em encontrar o contrário Indent. Como aqui estão várias respostas diferentes para essa pergunta, perguntei a um colega inglês (Reino Unido) qual ele escolheria: Sua primeira dica foi IncreaseIndente DecreaseIndent. Mas Indente Detenttambém funcionaria.

Markus
fonte