[Программирование, Совершенный код] Переводим синтаксис 1С на английский язык

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
08-Сен-2020 14:33

Когда программисты первый раз видят прикладной язык 1С, многие впадают в ступор. Несмотря на то, что родной русский язык в любом случае ближе и понятнее, читать код на русском языке и понимать, что происходит в нем (когда это в новинку) не так-то просто. Опытный программист сразу увидит определенные знакомые конструкции (условия, циклы, вызовы функций), но многие моменты в коде все равно будут непонятными и непривычными. А уж если код был написан программистом с даром красивого именования переменных и функций, то процесс первого знакомства с 1С обещает быть еще более ярким. Впрочем, последнее справедливо не только для 1С.
Пример кода от любителя красивого синтаксиса Сейчас процесс перевода 1С на английский язык идет полным ходом. К существующим ранее решениям (таким как 1C:Drive) недавно добавился 1С:ERP World Edition, а разработка на английском языке (более привычном и понятном для многих начинающих или не связанных с 1С программистов) стала еще более актуальной. Как же человеку, уже прикипевшему к русскому языку в коде и / или со знаниями английского на уровне «London is the capital of Great Britain… Microsoft…Coca-Cola…Ok» быстро перестроиться на кодирование на английском языке? Есть несколько способов:1.     Первое и самое банальное – подтянуть знания английского языка. Даже если удастся запомнить, как писать все нужные конструкции, названия объектов и переменных все равно желательно давать понятными англоговорящему кодеру. И чтобы не сидеть все время в обнимку с гугл-переводчиком, лучше потратить некоторое время на освоение нового языка, благо ресурсов сейчас для этого предостаточно. Вот пример кода, как не нужно делать:
2.     Второй способ – открыть любую типовую конфигурацию и искать название на английском нужной конструкции с помощью синтаксис-помощника. Как правило, там это название будет приведено подобным образом:
Пример типовой конфигурации3.     Ну и третий способ – воспользоваться материалом данной статьи, где я приведу примеры наиболее популярных конструкций в стандартном виде и их аналогов на английском языке. Поехали! Условный оператор:Если … ТогдаИначеЕсли … ТогдаИначеКонецЕсли;If … ThenElsIf … ThenElseEndIf; Циклы:Для Счетчик = 1 По 10 ЦиклКонецЦикла;For Counter = 1 To 10 DoEndDo;Для Каждого … Из … ЦиклКонецЦикла;For Each … In … DoEndDo;Пока … ЦиклКонецЦикла;While … DoEndDo; Инструкции препроцессора и директивы компиляции:#Область
#КонецОбласти#Region
#EndRegionКлиентClientСерверServerМобильноеПриложениеКлиентMobileAppClientМобильноеПриложениеСерверMobileAppServerТолстыйКлиентОбычноеПриложениеThickClientOrdinaryApplicationТолстыйКлиентУправляемоеПриложениеThickClientManagedApplicationВнешнееСоединениеExternalConnectionТонкийКлиентThinClientВебКлиентWebClient&НаКлиенте&НаСервере&НаСервереБезКонтекста&НаКлиентеНаСервереБезКонтекста&AtClient&AtServer&AtServerNoContext&AtClientAtServerNoContext Логические и вспомогательные операторы:ИИлиНеAndOrNotПродолжитьContinueПрерватьBreakВозвратReturnЭкспортExportЗначValНовыйNewПерем VarВызватьИсключениеRaise Попытка / исключение:ПопыткаИсключениеКонецПопытки;TryExceptEndTry;  Работа с транзакциями:НачатьТранзакциюBeginTransactionОтменитьТранзакциюRollbackTransactionЗафиксироватьТранзакциюCommitTransactionТранзакцияАктивнаTransactionActive Функции / процедуры:ФункцияКонецФункцииFunctionEndFunctionПроцедураКонецПроцедурыProcedureEndProcedure Популярные конструкторы:МассивArrayСтруктураStructureСоответствиеMapСписокЗначенийValueListТаблицаЗначенийValueTableДеревоЗначений (Строки, Колонки)ValueTree (Rows, Columns)ЗапросQueryМенеджерВременныхТаблицTempTablesManagerТабличныйДокументSpreadsheetDocumentТекстовыйДокументTextDocumentFTPСоединениеHTTPСоединениеFTPConnectionHTTPConnectionCOMОбъектCOMObjectWSПроксиWSProxyБлокировкаДанныхDataLockГраницаBoundaryДвоичныеДанныеBinaryDataДиаграммаChartДиаграммаГантаGanttChartДиалогВыбораФайлаFileDialogДокументDOMДокументHTMLDOMDocumentHTMLDocumentЗаписьDOM, ЗаписьJSON, …DOMWriter, JSONWriter, …ЧтениеHTML, ЧтениеJSON, …HTMLReader, JSONReader, …ИнтернетПочтовоеСообщениеInternetMailMessageКартинкаPictureКвалификаторыДаты, КвалификаторыЧисла, …DateQualifiers, NumberQualifiers, …КоллекцияДвиженийRegisterRecordsCollectionКомпоновщикМакетаКомпоновкиДанныхDataCompositionTemplateComposerКомпоновщикНастроекКомпоновкиДанныхDataCompositionSettingsComposerМакетКомпоновкиДанныхDataCompositionTemplateМоментВремениPointInTimeОписаниеОповещенияNotifyDescriptionОписаниеТиповTypeDescriptionОтборКомпоновкиДанныхDataCompositionFilterПараметрКомпоновкиДанныхDataCompositionParameterПолеКомпоновкиДанныхDataCompositionFieldПараметрыЗаписиJSONJSONWriterSettingsПараметрыЗаписиXMLПараметрыЧтенияXMLXMLWriterSettingsXMLReaderSettingsПочтовоеСообщениеMailMessageПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначенийDataCompositionResultValueCollectionOutputProcessorПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокументDataCompositionResultSpreadsheetDocumentOutputProcessorПроцессорКомпоновкиДанныхDataCompositionProcessorРеквизитФормыFormAttributeСериализаторXDTOXDTOSerializerФабрикаXDTOXDTOFactoryСообщениеПользователюUserMessageСхемаКомпоновкиДанныхDataCompositionSchemaФайлFileХранилищеЗначенияValueStorageЦветColorШрифтFontУникальныйИдентификаторUUID Популярные методы объектов:ВыполнитьExecuteВыполнитьПакетExecuteBatchУстановитьПараметрSetParameterВыбратьSelectСоздатьНаборЗаписейCreateRecordSetПрочитатьReadВставитьInsertВыгрузитьUnloadЗагрузитьLoadДобавитьAddЗаписатьWriteЗаполнитьFillИтогTotalКоличествоCountМетаданныеMetaDataОчиститьClearПолучитьGetПроверитьЗаполнениеCheckFillingУдалитьDeleteПереместитьMoveНайтиFindНайтиСтрокиFindRowsСортироватьSortСкопироватьCopyПолучитьМакетGetTemplateПолучитьОбластьGetAreaСрезПервых, СрезПоследнихSliceFirst, SliceLastНайтиПоНаименованиюFindByDescriptionНайтиПоКодуFindByCodeНайтиПоРеквизитуFindByAttribute Популярные функции и процедуры глобального контекста:НачалоДня, НачалоМесяца, …BegOfDay, BegOfMonth, …КонецДня, КонецМесяца, …EndOfDay, EndOfMonth, …ОписаниеОшибкиErrorDescriptionФоновыеЗаданияBackgroundJobsПолучитьИзВременногоХранилищаGetFromTempStorageТекущаяДатаCurrentDateТекущаяДатаСеансаCurrentSessionDateДатаDateПоказатьВводДаты, ПоказатьВводСтроки, …ShowInputDate, ShowInputString, …ПоказатьВопросShowQueryBoxПоказатьЗначениеShowValueТипЗнчTypeOfТипTypeВычислитьEvalФорматFormatЗаполнитьЗначенияСвойствFillPropertyValuesПолучитьОбщуюФормуGetCommonFormПолучитьОбщийМакетGetCommonTemplateПолучитьФормуGetFormОткрытьФормуOpenFormРольДоступнаIsInRoleПустаяСтрокаIsBlankStringЛев, Прав, СредLeft, Right, MidМин, МаксMin, MaxОповестить, ОповеститьОВыбореNotify, NotifyChangedПредопределенноеЗначениеPredefinedValueУстановитьПривилегированныйРежимSetPrivilegedModeПрочитатьJSON, ПрочитатьXMLReadJSON, ReadXMLОкрRoundСтрДлина, СтрЗаменить, СтрНайти, …StrLen, StrReplace, StrFind, …ВРег, НРегUpper, LowerЗначениеЗаполненоValueIsFilled Популярные системные перечисления:ВариантЗаписиДатыJSONJSONDateWritingVariantВариантСтандартногоПериодаStandardPeriodVariantВидГраницыBoundaryTypeВидГруппыФормыFormGroupTypeВидДвиженияБухгалтерииAccountingRecordTypeВидДвиженияНакопленияAccumulationRecordTypeВидКнопкиФормыFormButtonTypeВидПоляФормыFormFieldTypeВидСравненияComparisonTypeВидСравненияКомпоновкиДанныхDataCompositionComparisonTypeДопустимаяДлинаAllowedLengthДопустимыйЗнакAllowedSignДоступКФайлуFileAccessКодВозвратаДиалогаDialogReturnCodeКодировкаИменФайловВZipФайлеFileNamesEncodingInZipFileКодировкаТекстаTextEncodingМетодСжатияZIPZIPCompressionMethodМетодШифрованияZIPZIPEncryptionMethodОбходРезультатаЗапросаQueryResultIterationПротоколИнтернетПочтыInternetMailProtocolРежимБлокировкиДанныхDataLockModeРежимДиалогаВопросQuestionDialogModeРежимДиалогаВыбораФайлаFileDialogModeРежимЗаписиДокументаDocumentWriteModeРежимПроведенияДокументаDocumentPostingModeРежимОкругленияRoundModeРежимСохраненияПутейZIPZIPStorePathModeРежимУправленияБлокировкойДанныхDataLockControlModeСимволыCharsСостояниеФоновогоЗаданияBackgroundJobStateСпособSMTPАутентификацииSMTPAuthenticationModeСпособPOP3АутентификацииPOP3AuthenticationModeТипВнешнейКомпонентыAddInTypeТипГруппыЭлементовОтбораКомпоновкиДанныхDataCompositionFilterItemsGroupTypeТипЗначенияJSONJSONValueTypeТипТекстаПочтовогоСообщенияInternetMailTextTypeТипУзлаDOMDOMNodeTypeТипУзлаXMLXMLNodeTypeТипФайлаТабличногоДокументаSpreadsheetDocumentFileTypeТипФайлаФорматированногоДокументаFormattedDocumentFileTypeУровеньЖурналаРегистрацииEventLogLevelЧастиДатыDateFractions Популярные объекты метаданных, упоминаемые в коде:СправочникиCatalogsДокументыDocumentsРегистрыСведенийInformationRegistersРегистрыНакопленияAccumulationRegistersРегистрыБухралтерииAccountingRegistersРегистрыРасчетаCalculationRegistersПланыВидовХарактеристикChartsOfCharacteristicTypesПланыСчетовChartsOfAccountsПланыВидовРасчетаChartsOfCalculationTypesПеречисленияEnumsКонстантыConstants(Внешние) Обработки(External) DataProcessors(Внешние) Отчеты(External) ReportsРегламентныеЗаданияScheduledJobsПланыОбменаExchangePlansПараметрыСеансаSessionParametersВнешниеИсточникиДанныхExternalDataSourcesПопулярные функции в языке запросов:ДОБАВИТЬКДАТЕDATEADDРАЗНОСТЬДАТDATEDIFFНАЧАЛОПЕРИОДА, КОНЕЦПЕРИОДАBEGINOFPERIOD, ENDOFPERIODКОЛИЧЕСТВО(РАЗЛИЧНЫЕ)COUNT(DISTINC)ЗНАЧЕНИЕVALUEТИПTYPEЕСТЬNULLISNULLПРЕДСТАВЛЕНИЕPRESENTATIONПРЕДСТАВЛЕНИЕССЫЛКИREFPRESENTATIONТИПЗНАЧЕНИЯVALUETYPEВ (ИЕРАРХИИ)IN (HIERARCHY)ДАТАВРЕМЯDATETIMEПОДОБНОLIKEМЕЖДУ … И …BETWEEN … AND …ВЫРАЗИТЬCASTВЫБОР            КОГДА                         ТОГДА             ИНАЧЕ КОНЕЦCASE            WHEN                         THEN             ELSE ENDВсе аналоги, конечно, невозможно описать в рамках одной статьи, но наиболее популярные синтаксические конструкции были отражены. Надеюсь, это поможет начинающим программистам  и тем, кто только знакомиться с разработкой в 1С на английском языке, чувствовать себя уверенней и писать код быстрее.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_programmirovanie (Программирование), #_sovershennyj_kod (Совершенный код), #_1s (1С), #_1s_ne_zvali (1с не звали), #_novichkam (новичкам), #_programmirovanie (
Программирование
)
, #_sovershennyj_kod (
Совершенный код
)
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 22-Ноя 12:49
Часовой пояс: UTC + 5