Что самое странное кодировало правило стандарта, что Вы были вынуждены следовать? [закрытый]

173
задан 6 revs 23 May 2017 в 11:54
поделиться

107 ответов

Я должен был проверить правописание и проверка грамматики мои комментарии. Они должны были быть полными предложениями, правильно использованными для своей выгоды и законченными с периодом.

4
ответ дан Bryan Oakley 23 November 2019 в 20:33
поделиться

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

SELECT this, that, `key` FROM sometable WHERE such AND suchmore;

Просто ужасный.

4
ответ дан Kris 23 November 2019 в 20:33
поделиться

Я работал в магазине.NET VB три года назад, где "технический руководитель" постановил, чтобы все методы, принимающие параметр ссылочного типа (т.е. объект), использовали ByRef вместо ByVal. Я нашел это особенно нечетным, потому что они спросили меня вопрос ByVal/ByRef-what's-the-difference в моем интервью, и я объяснил, как это работало на типы значения и на ссылочные типы.

Его объяснение практики: "Некоторые более новые, менее опытные devs запутаются иначе".

В то время, я был последний раз нанят, и это было мое первое постоянное задание.NET. И я не был смущен им.

4
ответ дан Ryan Lundy 23 November 2019 в 20:33
поделиться

В C++ мы должны были записать явно все, что компилятор, как предполагается, пишет для нас (конструктор по умолчанию, деструктор, копирует конструктора, копирует оператор присваивания) для каждого класса. Похож, кто бы ни записал, что стандарты не были очень уверены относительно языка.

4
ответ дан Gorpik 23 November 2019 в 20:33
поделиться

Что-либо имение отношение к форматированию (особенно место '{' и другой символ блока) всегда является болью для осуществления.

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

И затем необходимо объединить те файлы назад для транкинга. И Вы совершаете самоубийство;)

3
ответ дан VonC 23 November 2019 в 20:33
поделиться

SCORM наверняка. ( http://en.wikipedia.org/wiki/SCORM )

5
ответ дан MetaGuru 23 November 2019 в 20:33
поделиться

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

, Если Вы хотите изменить параметр к функции, необходимо передать его указателем.

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

5
ответ дан 23 November 2019 в 20:33
поделиться

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

, Если Вы не знаете, почему это - плохая вещь сделать, проверьте эту запись в блоге здесь!

, Короче говоря если SQL Server ищет Хранимую процедуру с sp_ префиксом, он проверит основную базу данных сначала (который он не найдет, если SP не будет на самом деле в основной базе данных). Принятие его не находится в основном DB, SQL Server предполагает, что SP не находится в кэше и поэтому перекомпилировал его.

Это может походить на мелочь, но это складывает в большом объеме или занятых средах сервера базы данных!

5
ответ дан RobS 23 November 2019 в 20:33
поделиться

Когда я всегда работал работающий не по найму/фрилансер/руководитель проекта, я никогда не входил в чьи-то стандарты, все стандарты являются моими решениями. Но, я недавно нашел забавную часть "кодирования документа стандартов" назад, когда мне было 15 лет:

Все функции нужно назвать "ProjectName_FunctionName".

ну, процедурный PHP, кто-либо? Те еще не были временами твердого ООП PHP, но все еще. Если бы я хотел использовать код от одного проекта до другого, я должен был бы переписать все ссылки, и т.д.

я, возможно, использовал что-то как "package_FunctionName".

5
ответ дан AlfredBaudisch 23 November 2019 в 20:33
поделиться

Худшее, которое я испытал, относилось к инспекциям кода. По некоторым причинам даже при том, что мы имели и использовали различный инструмент нашего vcs для наблюдения то, что изменилось, когда Вы хотели свой код, осмотрел Вас, должен был окружить Ваши изменения в файле/функции с некоторыми блоками комментария как так:

/*********...80charswide...***
 * START INSPECT
 */

 some changed code...

 /*
  * END INSPECT
  *********...80charswide...****/

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

6
ответ дан DarthNoodles 23 November 2019 в 20:33
поделиться

Я абсолютно ненавижу его, когда кто-то не использует соглашение о присвоении имен. В том, где я работал, ведущий разработчик (кого я заменил), не мог выяснить, хотел ли он использовать Camel-регистр или way_over_used_underscores. Лично, я ненавижу подчеркивания, и Camel-регистр легче считать, но он действительно не имеет значения, пока Вы придерживаетесь одного стандарта.

PHP особенно плох в этом, смотрите на mysql_numrows, который объединяет два без ограничений.

5
ответ дан 2 revs, 2 users 80% 23 November 2019 в 20:33
поделиться

Самое странное было то, что квалифицированное переменное именование типа должно использоваться в Java и типах где те из столбцов от базы данных. Так java.sql. ResultSet нужно было назвать tblClient и т.д.

3
ответ дан Martin Spamer 23 November 2019 в 20:33
поделиться

У нас нет кода мимо 80-го символьного столбца, который спорен в нашей группе разработчиков C++. Любивший и обзор кода осуществляется некоторыми; Презираемый другими.

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

3
ответ дан tfehrs 23 November 2019 в 20:33
поделиться

Создатель файла (не должен вставлять код) должен поставить их имя в файле. Таким образом, при создании тупиков или заполнителей Вы "владеете" ими навсегда.

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

3
ответ дан Jonathan Adelson 23 November 2019 в 20:33
поделиться

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

int x=0; //declare variable x and assign it to 0

Нам не разрешили сделать это:

int x, y, z = 0; //declare and assign to 0

, Поскольку это не было детализировано достаточно. И это даже не следует соглашениям о присвоении имен, вызванным на нас.

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

3
ответ дан MunkiPhD 23 November 2019 в 20:33
поделиться

Я столкнулся с двумя правилами, что я действительно ненавидел на задании C несколько лет назад:

  1. "Один модуль на файл", где "модуль" был определен как функция C.

  2. Функциональные локальные переменные, позволенные только во главе функции, таким образом, этот вид вещи был недопустим:

if (test)
{
   int i;
   ...
}
3
ответ дан 23 November 2019 в 20:33
поделиться

Методы записи комментируют с бессмысленной информацией почти для всех методов.

Не разрешение нескольких точек выхода из метода.

Венгерская запись для всех переменных, перечислений, структур и даже классов, например, iMyInt, tagMySturcture, eMyEnum и CMyClass.

3
ответ дан void 23 November 2019 в 20:33
поделиться

Я реализовал и изменил магазинную тележку классика asp с открытым исходным кодом (который является главным образом длинной строкой dailyWTF кандидатов), который запустил каждую переменную с нижнего регистра p. Как в, pTax_Amount или pFirst_Name.

не было никакого объяснения этого, tho я читал где-нибудь на одном из их форумов, он должен был избегать использования зарезервированных слов как состояние - у Вас будет pState вместо этого. Они также добавляют временный файл к вещам отчасти случайным образом. как rsTemp и connTemp. В противоположность постоянным официальным наборам документов и соединениям с базой данных, я предполагаю.

3
ответ дан Lance Kidwell 23 November 2019 в 20:33
поделиться

Добавление чисел в наши таблицы, например tbl47_ [какое-то имя]

4
ответ дан 23 November 2019 в 20:33
поделиться

Это не проблема стандарта кодирования, но, несомненно, сказка об ограниченном мышлении. Мы завершили короткий четырехнедельный проект не менее чем за 7 недель. График был основан на приблизительном перечне функций. Процесс разработки яростно сводился к написанию кода. Во время вскрытия я предложил использовать контрольные точки и разбивать запросы функций на задачи. Невероятно, но мой директор отклонил мои идеи, сказав, что, поскольку это был такой короткий проект, нам не нужно было использовать вехи или задачи, и попросили другие предложения. В комнате воцарилась тишина.

Язык: Java, C ++, HTML Размер команды: две команды, всего 10 инженеров. Какие негативные последствия это вызвало у вас и вашей команды: я чувствовал себя так, как будто меня поймали в мультфильме Дилберта.

5
ответ дан 23 November 2019 в 20:33
поделиться

Мои претензии к стандартам кодирования довольно скромные по сравнению с некоторыми отвратительными вещами, которые я видел здесь, но вот что:

Я участвовал в проекте, где некоторые разработчики настаивали на том, чтобы Самая своеобразная форма отступов, которую я когда-либо видел:

if (condition)
   {
      x++;
      printf("Hello condition!\n");
   }
else
   {
      y++;
   }

Мы разрабатывали для встраиваемой среды с действительно гнилым отладчиком. Фактически, printf (), hexdump () и mapfile были предпочтительными методами отладки. Это, конечно, означало, что использование static было запрещено, и все глобальные переменные и функции должны были иметь вид имя_модуля_имя_переменной .

Проверка кода с предупреждениями была запрещена (не такая уж и плохая вещь ), но компилятор будет предупреждать о любых условных выражениях, которые были постоянными. Следовательно, старый трюк с макросами / операторами do {something (); } а (0) был запрещен.

Наконец, оставлять конечную запятую в списке перечислителей или инициализаторе считалось ленивым и, следовательно, запрещено:

enum debuglevel
   {
      NONE,
      FATAL,
      WARNING,
      VERBOSE,   // Naughty, naughty!
   };

Как я уже сказал, скорее простым. Но, как последователь «Десяти заповедей для программистов на C», я нашел нетрадиционный стиль крепления абсолютно безумным.

6
ответ дан 23 November 2019 в 20:33
поделиться

Помечаем частные переменные знаком _, чтобы убедиться, что мы знаем, что имеем дело с частными переменными внутри класса. Затем, используя магические методы PHP __get и __set, чтобы обеспечить доступ к каждой из переменных, как если бы они в любом случае были общедоступными ...

5
ответ дан 23 November 2019 в 20:33
поделиться

При кодировании для проекта VB меня попросили добавить следующий раздел комментариев для каждого из методов

'Module Name
'Module Description
'Parameters and description of each parameter
'Called by
'Calls

Хотя все остальное я нашел вполне приемлемым, но я был против двух последних, причина Я утверждал, что по мере того, как проект станет большим, его будет трудно поддерживать. Если мы создаем библиотечную функцию, мы никогда не сможем поддерживать Called by. Мы были небольшой командой из 6 человек, поэтому менеджер аргументировал это тем, что, поскольку вы собираетесь вызывать функции, это следует поддерживать. В любом случае мне пришлось отказаться от этого аргумента, поскольку менеджер был непреклонен. Результат оказался таким, как и ожидалось, поскольку проект стал больше, никто не заботился о поддержке Called by и Calls.

4
ответ дан 23 November 2019 в 20:33
поделиться

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

4
ответ дан 23 November 2019 в 20:33
поделиться

Последнее место, где я работал, было в основном магазином C ++, и до того, как меня наняли, мой босс (который был директором по исследованиям и разработкам) издал указ о том, что «динамическое распределение памяти запрещено. ". Никаких «новых», даже «malloc» - потому что «они могут привести к утечке памяти, если разработчик забудет соответствующую операцию удаления / освобождения». Как следствие этого конкретного правила, «указатели также не разрешены» (хотя ссылки были полностью приемлемы, будучи одновременно прекрасными и безопасными).

Я отменил эти правила (в отличие, скажем, от переписывания все наше программное обеспечение на других языках), но мне пришлось добавить несколько собственных замечательных правил, таких как «вы не можете запускать новую ветку без письменного разрешения от кого-то, кто имеет право делать такие вещи»

6
ответ дан 23 November 2019 в 20:33
поделиться

Работа над жестким кодированием в Project i - строгое НЕТ .. Поэтому мы были вынуждены хешировать определение, как показано ниже

#define 1 ONE

4
ответ дан 23 November 2019 в 20:33
поделиться

Наши администраторы баз данных Oracle настаивают на том, чтобы мы добавляли имя схемы к именам таблиц, т.е. если ваша схема hr_admin , ваше штатное расписание будет hr_admin_staff , что означает, что полное имя таблицы в запросе с перекрестной схемой будет hr_admin.hr_admin_staff .

5
ответ дан 23 November 2019 в 20:33
поделиться

Добавление постфикса _ к членским переменным. например,

int numberofCycles_;

Это было в C++ на проекте с открытым исходным кодом с несколькими разработчиками. Основной побочный эффект не знал, что переменная имела объем класса до получения до конца имени. Не что-то я думал очень о прежде, но ясно назад.

0
ответ дан 2 revs 23 November 2019 в 20:33
поделиться

Первый язык, который я использовал профессионально, был 4D. Это поддерживало межпроцессные переменные, снабженные префиксом <>, переменные процесса без префиксов и локальных переменных, которые запустились с $. Все те префиксы (или отсутствие этого) используются компилятором/интерпретатором для определения объема переменной.

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

Переменные, объем которых был определен их префиксом, должны были быть снабжены префиксом избыточную информацию!

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

1
ответ дан 3Doubloons 23 November 2019 в 20:33
поделиться

Назад в мои дни КОБОЛа, мы должны были использовать три звездочки для комментариев (КОБОЛ требует только одной звездочки в столбце 7). У нас даже был предварительный компилятор, который проверил на это и не скомпилирует Вашу программу, если Вы использовали что-нибудь кроме трех звездочек.

1
ответ дан Patrick Cuff 23 November 2019 в 20:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: