Re: Корреляция между стилем и качеством кода
От: _Obelisk_ Россия http://www.ibm.com
Дата: 26.11.07 09:30
Оценка:
Здравствуйте, Unmanaged, Вы писали:

U>Привет.


U>Заранее извиняюсь, если поднимаю старую тему — поиском не нашёл.

U>Речь пойдёт о корреляции между стилем кода программиста и качеством этого же самого кода.

IMHO, к стилю есть единственное требование — девелопер не должен мешать разные стили в одном коде.

Персонально, я не люблю, когда используют tab-ы, вместо space-ов для отступов. Настройки величины tab-ов могут быть разными, потому layout кода может плыть в разных редакторах. А это нехорошо.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[2]: Корреляция между стилем и качеством кода
От: Uzumaki Naruto Ниоткуда  
Дата: 26.11.07 09:54
Оценка:
Эта проблема решается настройками IDE (в частности в студии есть опция — замена tab на пробел и разме 1 tab в пробелах)

Re[7]: Корреляция между стилем и качеством кода
От: SP_ Украина  
Дата: 26.11.07 09:54
Оценка:
Здравствуйте, Unmanaged, Вы писали:

U>Разжёвывать мне сейчас лень, кому надо — правильно поймут, что я имел в виду.


Батенька, складывается впечатление, что круче вашей фирмы только яйца. Озвучте пожалуйста название вашей конторы.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Корреляция между стилем и качеством кода
От: SP_ Украина  
Дата: 26.11.07 09:58
Оценка: +1
Здравствуйте, Unmanaged, Вы писали:


B>>Вот скажи, что лучше?

B>>
B>>void my_cool_func();  // 1
B>>void myCoolFunc();    // 2
B>>


U>За (1) так вообще руки оторвал бы.


Да, сходите поотрывайте руки товарищам из комитета стандартизации С++. Тем самым, которые такого стиля в stl понапихивали. Всяким там Страуструпам, Саттерам, Абрахамсам и иже с ними. Всякие там lexicographical_compare, bidirectional_iterator_tag панаписывали панимаишь ли
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Корреляция между стилем и качеством кода
От: SkyDance Земля  
Дата: 26.11.07 10:01
Оценка:
Pzz>Не знаю, удобнее и все. ПриВотТакомВотСтиле случается, что не та буква оказывается заглавной. А_при_вот_таком почему-то не случается.

Точно. А если нож держать тупой стороной к яйцу, то можно ведь ненароком об острую сторону и порезаться!
Re[2]: Автора этого кода на работу возьмёте?
От: SkyDance Земля  
Дата: 26.11.07 10:03
Оценка: +1
SC>Автора вот этого кода на работу возьмёте?

Не путайте код и сэмплы. Сэмплы как сэмплы. Но напостоянку и в больших проектах — такой Кнут нам не нужен Вы что ж думаете, кто-то будет брать Кнута как С++ кодера ? Порадовали, право слово.
Re[10]: Корреляция между стилем и качеством кода
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 26.11.07 10:11
Оценка: 1 (1)
Здравствуйте, The Lex, Вы писали:

TL>Без обид! Но именно так думают а) начинающие руководители; б) отъявленные самодуры.


ну.. яб не стал ровнять начинающих руководителей и самодуров
но, в целом, подмечено очень верно. какой-то юношеский максимализм у товарища присутствует. хотя, возможно, эдакая антиреклама фирмы, сейчас кто либо брякнет название компании автора топика, и прослывет она еще одной нежелательной для прохождения собеседований компанией.
Re[5]: Корреляция между стилем и качеством кода
От: elmal  
Дата: 26.11.07 10:14
Оценка: 3 (3) +3
Здравствуйте, Unmanaged, Вы писали:

U>За (1) так вообще руки оторвал бы.

U>Вот (2) ещё куда ни шло, но тоже убого.
Шеф, это называется не стиль программирования, а стиль именования. В разных фирмах в разных проектах он разный.
Переменная может называться m_my_variable, myVariable, mMyVariavbe, MyVariable и т.д. Отрывать надо руки не за то, что человек привык к такому способу наименования, а за то, что он не следует таковым стандартам в конкретном проекте.
Я лично под стилем программированая подразумеваю не скобочки, отступы и т.д (повторяю, в команда этот стиль должен быть ОДИН У ВСЕХ), а некоторые другие вещи, например:

Один напишет так:
int result = 0;

if (a) {
   if(b) {
      // Комментарий плюс 50 строк кода
      for (...) {
         // Комментарий плюс 50 строк кода
         if () {
            // Комментарий плюс 50 строк кода
            try {
               if (c) {
                  // Комментарий плюс 50 строк кода
                  for (int i=0; i<34; ++i) {
                      // Комментарий плюс 50 строк кода
                  }
               }
            } catch (...) {
               //do something
            }

         }
      }
   }
   return result;
} else {
   return null;
}

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

А другой тоже самое уложит вот так:

if (isInputParametersIncorrect(a,b)) {
   return null;
} 

for (int i=0; i<SOME_CONSTANT; ++i) {
   doSomethingComplexInOtherMethod(i);
}

Вот это и есть стиль кодирования, а не скобочки. Как и привычка использовать глобальные переменные, магические числа, копи-пейст, наследование прямоугольника от квадрата (или наоборот) и т.д.
Re[2]: Корреляция между стилем и качеством кода
От: Александр Каширин  
Дата: 26.11.07 10:43
Оценка: +2
Здравствуйте, _Obelisk_, Вы писали:

_O_>Персонально, я не люблю, когда используют tab-ы, вместо space-ов для отступов. Настройки величины tab-ов могут быть разными, потому layout кода может плыть в разных редакторах. А это нехорошо.


Это справедливо только тогда, когда в коде, в котором используется табуляция, кто-то вносил исправления и пренебрег использования табуляции, вставив туда пробелы по своему усмотрению (согласно собственным настройкам). Это есть нарушение стиля, и именно это приводит к плаванью layout. А код с чистыми табуляциями видится лучшим как минимум с той точки зрения, что не у всех одинаковые широкоформатные мониторы, и кому-то захочется изменить настройки IDE так, чтобы на его компактном мониторе Tab соответствовал не стандартным 8 символам, а, например, 3. Код останется прекрасно читабельным и при этом не будет постоянно "скрываться" за правой границей монитора.
Re[2]: Корреляция между стилем и качеством кода
От: elmal  
Дата: 26.11.07 10:54
Оценка: 4 (1) +1
Здравствуйте, _Obelisk_, Вы писали:

_O_>Персонально, я не люблю, когда используют tab-ы, вместо space-ов для отступов. Настройки величины tab-ов могут быть разными, потому layout кода может плыть в разных редакторах. А это нехорошо.

Это легко решается. Делается комбинация — табами выделяется отступы, а все выравнивание после отступов ведется пробелами. Например:
(точки читать как пробел)
{
/t        const.int.ddd.=.10;
/t        const.int.b...=.15;

/t        someFunc();  
/t        int.a.=.b 
/t        ......+.c
/t        ..... +.ddd
/t        ..... +.e
/t        ..... +.d   
}

В результате
Re[6]: Корреляция между стилем и качеством кода
От: elmal  
Дата: 26.11.07 11:12
Оценка: 1 (1)
Здравствуйте, SP_, Вы писали:

SP_>Да, сходите поотрывайте руки товарищам из комитета стандартизации С++. Тем самым, которые такого стиля в stl понапихивали. Всяким там Страуструпам, Саттерам, Абрахамсам и иже с ними. Всякие там lexicographical_compare, bidirectional_iterator_tag панаписывали панимаишь ли

Понаотрывать руки надо за то, что стили в MFC один, в STL другой, в WinAPI третий, в unix kernel четвертый. В результате какой бы стиль для проекта не выберешь — один черт однообразия не будет, а будет мешанина из стилей. Плохи не стили сами по себе, а то, что очень проблематично на C++ написать проект в едином стиле, используя не самописные библиотеки.
Но тут не разработчики виноваты, а то, что исторически сложилось, что над стилями стали задумываться тогда, когда уже много чего стало написано, и никакой переделке уже не подлежит. А виноват в этом не Страуструп, а Керниган с Ритчи, но Си писался так давно, что винить их в том, что сразу не задумались над стилем кодирования, рука не поднимается.
Re[3]: Корреляция между стилем и качеством кода
От: _Obelisk_ Россия http://www.ibm.com
Дата: 26.11.07 11:29
Оценка:
Здравствуйте, Uzumaki Naruto, Вы писали:

UN>Эта проблема решается настройками IDE (в частности в студии есть опция — замена tab на пробел и разме 1 tab в пробелах)


Я-то в курсе, но другие забывают об этом.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[2]: Корреляция между стилем и качеством кода
От: ononim  
Дата: 26.11.07 11:35
Оценка:
R>есть такое дело, но вырабатывается стиль годами и качество кода тоже вырабатывается годами..
Дело в том что качество кода и стандарт принятый на конкретно вашей фирме вещи вообще говоря разные. Посмотрите на стиль написания например STLPORT, совсем не похож нп ядро винды. Но не ламерье же ее делали

R>лично я еще смотрю на качество написания кода на бумаге

Ну я например системный архитект. Когда беру в руки ручку очень трудно вспомнить как ею двигать чтобы на бумаге появлялись нужные буквы Что же, я плохой программист?
Как много веселых ребят, и все делают велосипед...
Re[3]: Корреляция между стилем и качеством кода
От: Roman Odaisky Украина  
Дата: 26.11.07 11:46
Оценка:
Здравствуйте, elmal, Вы писали:

E>Это легко решается. Делается комбинация — табами выделяется отступы, а все выравнивание после отступов ведется пробелами. Например:


+1. Руки отрывать за другое нужно:
→   foo();
→   bar();
····oof(); // added by SuperDeveloper
→   rab();


····if(foo())
····{
→       bar();
→       if(oof())
→       {
→       ····rab();
→       }
····}


void someReallyInterestingFunction(Type1 param1,
→   →   →   →   →   →   →   →   ···Type2 param2)
До последнего не верил в пирамиду Лебедева.
Re[3]: Корреляция между стилем и качеством кода
От: raydac Эстония http://www.igormaznitsa.com
Дата: 26.11.07 11:53
Оценка:
R>>лично я еще смотрю на качество написания кода на бумаге
O>Ну я например системный архитект. Когда беру в руки ручку очень трудно вспомнить как ею двигать чтобы на бумаге появлялись нужные буквы Что же, я плохой программист?

от задачи зависит, на несложных думаю вполне хватит и неумеющего писать системного архитектора, слава богу сейчас не те времена.. не царские
https://github.com/raydac
Re[7]: Корреляция между стилем и качеством кода
От: SP_ Украина  
Дата: 26.11.07 11:53
Оценка:
Здравствуйте, elmal, Вы писали:

E>Но тут не разработчики виноваты, а то, что исторически сложилось


Это понятно. Но таки stl в середине 90-х писалась, а тогда уже над стилями думали за бугром. И если выбрали такой_вот_стиль, то сделали это явно не с бодуна, после оценки альтернатив. А топикстартер от этого стиля плюется. Вот и у меня возникла мысль, может что-то в консерватории поправить
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: Корреляция между стилем и качеством кода
От: MikePetrichenko Беларусь www.btframework.com
Дата: 26.11.07 11:54
Оценка: +1
Здравствуйте, Unmanaged, Вы писали:

U>Так лучше:


U>[ccode]

U>// -------------------------------------
U>// DECLARATION
U>// -------------------------------------

U>void

U> PrefixSubprefixAction (
U> int iParam1,
U> void* pParam2);

За это руки оторвать. Сразу. Нафига мне прорываться через пятиметровый список параметров, если я хочу видеть КАК оно работает. Хотя, конечно, это сильно зависит от функции.

Да. И у MS в каждом файле свой "стиль". Вы лучше SDK полистайте, а не пиратские сырцы фиг знает чего.
Bluetooth, IrDA, WiFi and Serial Ports SDK for .NET, ActiveX, C++ and VCL
Spektrum Telemetry Log File Viewer
Re[2]: 2 Night Writers
От: xedin Беларусь http://natribu.org/by/
Дата: 26.11.07 12:07
Оценка:
Здравствуйте, Unmanaged, Вы писали:

U>Все понаставили друг другу плюсиков и, довольные своими свершениями, отправились спать .

U>Извините, это просто смешно со стороны выглядит.

И лишь один гордый, непонятый и непобежденный Unmanaged остался на страже единственно верного учен.... простите, стиля
Спорить не о чем — я прав
(с)cr lf
Где можно легально посмотреть код ядра Windows
От: Valery A. Boronin Россия linkedin.com/in/boronin
Дата: 26.11.07 12:14
Оценка: 3 (3) +1
Здравствуйте, bkat, Вы писали:

B>>>Я, к примеру, понятия не имею как выглядит стиль исходного кода ядра Винды.

B>>>Никогда не интересовался.

U>>Вот именно.

U>>Зачем мне человек, который ни разу не заглядывал туда?

B>Ну так где мне его найти?

B>Подкинь ссылку.

see WDK/DDK. там идет код реально работающих в Windows драйверов, то есть часть ядра Windows.

это к вопросу о популярном у не-kernel разработчиков заблуждении, что код ОС недоступен простным смертным легально. А ведь есть еще и университетские программы по которым практически весь код ОС предоставлен каким-то универам, вроде Пражского для обучения\изучения.

Похоже, именно это (см 1й мой параграф) имел ввиду (конечно наряду с подглядыванием в "нелегально утекшие" исходники 2000) топикстартер. Он прав в том что любой специалист в ядре не мог этого (просмотр DDK) не делать и не мог не знать как выглядят куски ядра ибо на них натыкаешься постоянно в процессе гугления и без подглядывания в нелегальный материал.


другой вопрос что в той форме что он пытается донести свою позицию до форума — это гарантированно вызывает негативную реакцию. Да и другие вещи вроде идеального стиля весьма спорны — что мы и наблюдаем в ветке
... << RSDN@Home 1.2.0 alpha rev. 0>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[6]: Корреляция между стилем и качеством кода
От: egaron http://127.0.0.1
Дата: 26.11.07 12:16
Оценка:
Здравствуйте, elmal, Вы писали:

E>Здравствуйте, Unmanaged, Вы писали:


U>>За (1) так вообще руки оторвал бы.

U>>Вот (2) ещё куда ни шло, но тоже убого.
E>Шеф, это называется не стиль программирования, а стиль именования. В разных фирмах в разных проектах он разный.
E>Переменная может называться m_my_variable, myVariable, mMyVariavbe, MyVariable и т.д. Отрывать надо руки не за то, что человек привык к такому способу наименования, а за то, что он не следует таковым стандартам в конкретном проекте.
E>Я лично под стилем программированая подразумеваю не скобочки, отступы и т.д (повторяю, в команда этот стиль должен быть ОДИН У ВСЕХ), а некоторые другие вещи, например:

+10
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.