LINUX.ORG.RU

Программируя на «C», как вы оформляете код?

 


2

1

Собственно сейчас выбираю наиболее приемлемый вариант для себя. Для меня тема стоит очень серьёзная, склоняюсь к allman. Интересно кто как пишет, в каком стиле и почему.

  1. Мне всё равно, какой стиль у меня 242 (30%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. K&R 207 (26%)

    *********************************************************************************************************************************************************************************************************************************************************************************

  3. Свой стиль 181 (23%)

    ***********************************************************************************************************************************************************************************************************************************************

  4. GNU 98 (12%)

    *********************************************************************************************************************************

  5. allman 82 (10%)

    ************************************************************************************************************

  6. linux 62 (8%)

    *********************************************************************************

  7. 1tbs 31 (4%)

    ****************************************

  8. stroustrup 30 (4%)

    ***************************************

  9. whitesmith 10 (1%)

    *************

  10. banner 6 (1%)

    *******

  11. horstmann 6 (1%)

    *******

Всего голосов: 955, всего проголосовавших: 804

★★★★★

Проверено: post-factum ()
Последнее исправление: Binary (всего исправлений: 1)

К&Р и «свой»

Deleted
()

style(9) — много плюшек, заметно упрощающих процесс и повышающих читабильность, его и использую.

beastie ★★★★★
()

k&r — после чтения «классики» начал, не вижу причин переходить на другой (хотя, Линус вроде его критиковал за что-то).

GreenBag ★★
()

style(9), то есть разновидность BSD KNF.

baka-kun ★★★★★
()
(defun my-c-mode-hook ()
  (c-set-style "linux")
  (setq indent-tabs-mode t)
  (setq c-basic-offset 8)
  (set (make-local-variable 'whitespace-style)
       '(face trailing lines-tail space-before-tab space-before-tab::tab newline
              indentation empty space-after-tab space-after-tab::tab))
  (whitespace-mode 0)
  (whitespace-mode 1)
  (auto-fill-mode t)
  (c-toggle-auto-hungry-state -1))

(add-hook 'c-mode-hook 'my-c-mode-hook)
mv ★★★★★
()

[x] не пишу на «Си» :)

shty ★★★★★
()
Ответ на: комментарий от aptyp

Только почему табы?)

linux kernel же.

mv ★★★★★
()
Ответ на: комментарий от Deleted

Да. Как наиболее удобочитаемый и лаконичный.

Dron ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Собственно и писал в этом стиле всегда , пока не узнал как он называется :), а классика вызвала отвращение сразу,да и allman==ansi.

Dron ★★★★★
() автор топика

Если решать мне - allman с отступом в 4 пробела. ИМХО, он лучше всего отображает структуру кода. В чуих проектах - естественно то, что уже принято там.

lv ★★
()

Редко пишу на C, но когда пишу, то использую стиль GNU.

buddhist ★★★★★
()
Ответ на: комментарий от Dron

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

sphericalhorse ★★★★★
()

Не хватает пункта «Я не программирую».

My_quest ★★★★★
()

Раньше писал { на следующей строчке, пока не осознал, что на той же строчке выглядит красивее.

PolarFox ★★★★★
()

как вы оформляете код?

Подшиваем в дело, присваиваем исходящий...

slackwarrior ★★★★★
()
Ответ на: комментарий от PolarFox

Вопрос в принципе можно более менее экстраполировать на многие курли бракетс языки.

Я к тому, что на ЛОРе есть люди, которые вообще не программируют (внезапно).

eugeno ★★★★★
()

☑ собственный стиль

; скобочки с именем функции на одной строке
alias main {

  ; по-хорошему нужно сперва делать инкремент и переменная лишняя
  ; но мне главнее визуально красивый код :3
  var %sockname = $+(google,.,$hget(google,id))
  hinc google id 1
  sockopen %sockname google.com 80
  sockmark %sockname echo -s
}
on *:start: {

  ; создание базы и установка всех переменных в одну строку, ибо пофиг
  if ($hget(google)) hfree $v1 | hmake google 1024 | hinc google id 0

  ; основной код всегда выношу в отдельную функцию
  main
}

; люблю динамичные переменные, можно было обойтись просто "google.*"
on *:sockopen:$($+(google,.,*)): {
  if ($sockerr > 0) {

    ; снова, не нужный eval, но за то так красивее.
    $(,$sock($sockname).mark) shit happens.
  }
  elseif ($sockerr = 0) {

    ; каждый заголовок на новой строке, так визуально читабельней
    sockwrite $sockname $&
      GET / HTTP/1.1 $+ $crlf $+ $&
      Host: www.google.com $+ $crlf $+ $&
      $crlf
  }
}
on *:sockread:$($+(google,.,*)): {
  if ($sockerr > 0) {
    $(,$sock($sockname).mark) shit happens.
  }
  elseif ($sockerr = 0) {
    sockread &read | if ($sockbr = 0) return
    bcopy $+(&,$sockname) $calc($hget($sockname,read,$+(&,$sockname)) + 1) &read 1 -1
    hadd -mb $sockname read $+(&,$sockname)
    if ($bfind($+(&,$sockname),0,13 10 13 10)) {
      var %offset = $v1 + 4, %length = $bvar($+(&,$sockname),0) - %offset
    }
  }
}

P.S.: mIRC Scripting Langunage, дамы и господа.
P.P.S.: скрипт всего-лишь скачивает главную страницу гугла в переменную $+(&,$sockname)

Spoofing ★★★★★
()

Погромисты не нужны. Проголосовал за banner ибо доставляет

GNU-Ubuntu1204LTS ★★★
()

Что-то типа BSD KNF style, только с отступы не по 8, а по 4 пробела. Не задумывался, как они называются.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 2)

где вариант Не программирую?

eR ★★★★★
()

Где вариант «я не программирую на СИ»?

CuHe3yb
()

Я не пишу на C, а если вдруг правлю чью-то программу — стараюсь соблюдать тот стиль, в котором она написана.

guitarist ★★
()
Ответ на: комментарий от PolarFox

Тут есть и те, которые в бога веруют или маком пользуются. Но речь не про меньшинства.

Это ещё вопрос, представляют ли непрограммисты меньшинство на ЛОРе. Даже если так, опрос должен охватывать все слои населения.

eugeno ★★★★★
()

Только K&R/1TBS:

function() {
}
Использующих отступы в виде пробелов вместо табов (емаксодрочеров и им подобных) предлагаю отправлять писать на whitespace.

Minoru ★★★
()
Ответ на: комментарий от Minoru

Только 4 пробела, только PEP-8, только хардкор!

Кстати, в составе go идёт утилита go fmt, для форматирования кода в единственный расово верный формат.

PolarFox ★★★★★
()

где вариант «не пишу на С» ?

q11q11 ★★★★★
()

Где вариант «Я не программирую на С»?

Rodegast ★★★★★
()
Ответ на: комментарий от eugeno

Обращение исключительно к сишникам.

Dron ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.