Пропорциональный шрифт IDE

Он работает в Pandas, потому что выборки в локальных системах обычно решаются путем перетасовки данных. Spark, с другой стороны, избегает перетасовки, выполняя линейные сканирование по данным. Это означает, что выборка в Spark только рандомизирует членов выборки, а не порядок.

Вы можете заказать DataFrame столбец случайных чисел:

from pyspark.sql.functions import rand 

df = sc.parallelize(range(20)).map(lambda x: (x, )).toDF(["x"])
df.orderBy(rand()).show(3)

## +---+
## |  x|
## +---+
## |  2|
## |  7|
## | 14|
## +---+
## only showing top 3 rows

, но это:

  • дорогой - потому что он требует полного перетасовки, и это то, что вы обычно хотите избежать.
  • подозрительно - потому что порядок значений в DataFrame не является чем-то, что вы действительно можете зависят от нетривиальных случаев, и поскольку DataFrame не поддерживает индексацию, он бесполезен без сбора.
12
задан Paŭlo Ebermann 15 January 2012 в 18:01
поделиться

11 ответов

Я все еще хотел бы видеть, что популярный редактор или IDE реализуют эластичные позиции табуляции.

16
ответ дан 2 December 2019 в 04:17
поделиться

Основная проблема с пропорциональными шрифтами, они уничтожают выравнивание по вертикали кода, и это - довольно крупная потеря когда дело доходит до написания кода.

Выравнивание по вертикали позволяет управлять прямоугольными блоками кода, которые охватывают несколько строк путем разрешения блочных операций, любят сокращение, копию, вставку, удаляют и отступ, неотступ и т.д., чтобы быть легко выполненным.

Как пример рассматривают этот отрывок кода:

a1 = a111;
B2 = aaaa;
c3 = AAAA;
w4 = wwWW;
W4 = WWWW;

В моноширинном шрифте = и; все выстраиваются в линию.

Теперь, если этот текст является loded в Word и дисплей с помощью пропорционального шрифта, текст эффективно превращается в это:

Примечание: Дополнительный пробел добавляется к шоу как = и; больше не выстраивайтесь в линию:

a1 = a1 1 1;
B2  = aaaa;
c3 = A A A A;
w4 = w w W  W;
W4  = W W W  W;

С выравниванием по вертикали, которое уводят эффективно исчезают те хорошие блоки кода.

Также, потому что курсор, как больше гарантируют, не переместится вертикально (т.е. номер столбца является не всегда постоянным от одной строки до следующего), это делает более трудным записать, выбрасывают макро-сценарии, разработанные к подобным строкам взгляда, которыми управляют.

-1
ответ дан 2 December 2019 в 04:17
поделиться

Soeren: это довольно аккуратно, IMO. Но люди действительно выстраивают в линию комментарии как этот? Для моего конца комментариев строки я всегда использую одиночное пространство затем//или/* или эквивалентный, в зависимости от языка, который я использую. Я никогда не пытаюсь выстроить в линию объявления или комментарии или что-либо и единственное место, я когда-либо видел, что это находится в учебниках.

1
ответ дан 2 December 2019 в 04:17
поделиться

@Brian Ensink: Я не нахожу код отформатированным как этот легче читать.

int var1 = 1 //Comment
int longerVar = 2 //Comment
int anotherVar = 4 //Command

по сравнению с

int var2       = 1 //Comment
int longerVar  = 2 //Comment
int anotherVar = 4 //Comment

Я нахожу первые строки легче читать, чем вторые строки, лично.

1
ответ дан 2 December 2019 в 04:17
поделиться

Интересно, почему никто на самом деле не отвечает на Ваш вопрос, и почему принятый ответ действительно не имеет никакого отношения к Вашему вопросу. Но так или иначе...

пропорциональный шрифт IDE

В Eclipse можно выбрать любой шрифт в системе.

установите позиции табуляции для моих отступов

В Eclipse можно настроить автоматическое добавление отступа, включая установку его к "вкладкам только".

выстраивание в линию функциональных подписей и строк операторов присваивания

В Eclipse автоматическое добавление отступа делает это.

который мог быть указан в точках вместо фиксированных позиций символа.

Извините, я не думаю, что Eclipse может помочь Вам там. Но это - открытый исходный код.;-)

полужирный и курсив

Eclipse имеет это.

Различные размеры шрифта и даже таблицы стилей были бы прохладны

Я думаю, что Eclipse только использует один шрифт и размер шрифта для каждого типа файла (например, исходный файл Java), но у Вас могут быть различные "таблицы стилей" для различных типов файлов.

2
ответ дан 2 December 2019 в 04:17
поделиться

@Thomas Owens

Но люди действительно выстраивают в линию комментарии как этот?... Я никогда не пытаюсь выстроить в линию объявления или комментарии или что-либо и единственное место, я когда-либо видел, что это находится в учебниках.

Да люди действительно выстраивают в линию комментарии и объявления и все виды вещей. Последовательно хорошо форматировавший код легче считать и кодировать, который легче считать, легче поддержать.

2
ответ дан 2 December 2019 в 04:17
поделиться

@Thomas Owens

Я не нахожу код отформатированным как этот легче читать.

Это прекрасно, это - просто персональное предпочтение, и мы можем не согласиться. Отформатируйте его способ, которым Вы думаете, является лучшим, и я буду уважать его. Я часто спрашиваю меня, 'как я должен отформатировать это или ту вещь?' Мой ответ должен всегда форматировать его для улучшения удобочитаемости, которую я допускаю, может быть субъективным.

Относительно Вашего образца, меня точно так же, как наличие, которое приятно выровняло столбец на правой стороне, его вид быстрого "индекса" в код слева. Однако я, вероятно, постарался бы не комментировать каждую строку как этот так или иначе, потому что для самого кода не должно быть нужным так много объяснения. И если это делает я склонен писать абзац выше кода.

Но рассмотрите этот пример из исходного плаката. Его более легкое для определения комментариев во втором, по-моему.

for (size-type i = 0; i<v.size(); i++) { // rehash:
    size-type ii = has(v[i].key)%b.size9); // hash
    v[i].next = b[ii]; // link
    b[ii] = &v[i];
}

for (size-type i = 0; i<v.size(); i++) {     // rehash:
    size-type ii = has(v[i].key)%b.size9);   // hash
    v[i].next = b[ii];                       // link
    b[ii] = &v[i];
}
3
ответ дан 2 December 2019 в 04:17
поделиться

я ожидал, что Вы доберетесь вниз-modded и выбранный для того предложения, но существует некоторый реальный смысл к идее.

Основное преимущество традиционного 'непропорционального' требования шрифта в редакторах кода состоит в том, чтобы упростить нагрузку работающего форматирования кода.

Но со всем интерактивным автоматическим форматированием, которое происходит в современном IDE, действительно возможно, что пропорциональный шрифт мог улучшить удобочитаемость кода (вместо того, чтобы препятствовать ему, поскольку я уверен, что многие пуристы ожидали бы).

Символ по имени Roedy Green (известный его, 'как написать неудобный в сопровождении код' статьи) записал о теоретическом редакторе/языке, на основе Java и назвал Бали. Это не включало моноширинные шрифты точно, но это действительно включало идею наличия неоднородных размеров шрифта.

Кроме того, это короткое сообщение Joel Spolsky отправляет на решение, эластичные позиции табуляции (как упомянуто другим комментатором), который помог бы с поддержкой непропорциональных (и измеренная переменная) шрифтам.

4
ответ дан 2 December 2019 в 04:17
поделиться

То, когда я продержался, посмотрело на Eclipse (некоторое время назад теперь!) это позволило Вам выбирать любой установленный шрифт для работы в. Не настолько уверенный, поддерживало ли это понятие расположения с отступом позиций табуляции использования.

Это выглядело прохладным, но код было определенно более трудно прочитать...

1
ответ дан 2 December 2019 в 04:17
поделиться

Взгляды со Стилем предлагают использовать Ваше любимое программное обеспечение текстового управления как Word или Устройство записи. Создайте свой код программы в богатом XML и извлеките разделы, важные для компилятора, с XSLT. Программное обеспечение "Office" обеспечит все усовершенствованные функции текстового управления и форматирования.

5
ответ дан 2 December 2019 в 04:17
поделиться

Люди все жалуются на то, что комментарии не выстраиваются в очередь.

Мне кажется, что есть очень простое решение: определить единицу измерения как самый широкий символ в шрифте. Теперь пропорционально разместите все символы, кроме пробела. пространство занимает столько места, чтобы выровнять следующий символ там, где он был бы, если бы все предыдущие символы в строке были самыми широкими в шрифте.

то есть:

iiii_space_Foo

xxxx_space_Foo

выровнял бы «Foo», при этом пробел после «i» был бы намного шире, чем после «x».

Так называйте это упругими пространствами. а не табуляторы.

Если вы умный редактор, обращайтесь с комментариями особо, но это просто подливка

0
ответ дан 2 December 2019 в 04:17
поделиться